<!DOCTYPE html>

<html lang="en">
<head><meta charset="utf-8"/>
<meta content="width=device-width, initial-scale=1.0" name="viewport"/>
<title>代码</title><script src="https://cdnjs.cloudflare.com/ajax/libs/require.js/2.1.10/require.min.js"></script>
<style type="text/css">
    pre { line-height: 125%; }
td.linenos .normal { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; }
span.linenos { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; }
td.linenos .special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; }
span.linenos.special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; }
.highlight .hll { background-color: var(--jp-cell-editor-active-background) }
.highlight { background: var(--jp-cell-editor-background); color: var(--jp-mirror-editor-variable-color) }
.highlight .c { color: var(--jp-mirror-editor-comment-color); font-style: italic } /* Comment */
.highlight .err { color: var(--jp-mirror-editor-error-color) } /* Error */
.highlight .k { color: var(--jp-mirror-editor-keyword-color); font-weight: bold } /* Keyword */
.highlight .o { color: var(--jp-mirror-editor-operator-color); font-weight: bold } /* Operator */
.highlight .p { color: var(--jp-mirror-editor-punctuation-color) } /* Punctuation */
.highlight .ch { color: var(--jp-mirror-editor-comment-color); font-style: italic } /* Comment.Hashbang */
.highlight .cm { color: var(--jp-mirror-editor-comment-color); font-style: italic } /* Comment.Multiline */
.highlight .cp { color: var(--jp-mirror-editor-comment-color); font-style: italic } /* Comment.Preproc */
.highlight .cpf { color: var(--jp-mirror-editor-comment-color); font-style: italic } /* Comment.PreprocFile */
.highlight .c1 { color: var(--jp-mirror-editor-comment-color); font-style: italic } /* Comment.Single */
.highlight .cs { color: var(--jp-mirror-editor-comment-color); font-style: italic } /* Comment.Special */
.highlight .kc { color: var(--jp-mirror-editor-keyword-color); font-weight: bold } /* Keyword.Constant */
.highlight .kd { color: var(--jp-mirror-editor-keyword-color); font-weight: bold } /* Keyword.Declaration */
.highlight .kn { color: var(--jp-mirror-editor-keyword-color); font-weight: bold } /* Keyword.Namespace */
.highlight .kp { color: var(--jp-mirror-editor-keyword-color); font-weight: bold } /* Keyword.Pseudo */
.highlight .kr { color: var(--jp-mirror-editor-keyword-color); font-weight: bold } /* Keyword.Reserved */
.highlight .kt { color: var(--jp-mirror-editor-keyword-color); font-weight: bold } /* Keyword.Type */
.highlight .m { color: var(--jp-mirror-editor-number-color) } /* Literal.Number */
.highlight .s { color: var(--jp-mirror-editor-string-color) } /* Literal.String */
.highlight .ow { color: var(--jp-mirror-editor-operator-color); font-weight: bold } /* Operator.Word */
.highlight .pm { color: var(--jp-mirror-editor-punctuation-color) } /* Punctuation.Marker */
.highlight .w { color: var(--jp-mirror-editor-variable-color) } /* Text.Whitespace */
.highlight .mb { color: var(--jp-mirror-editor-number-color) } /* Literal.Number.Bin */
.highlight .mf { color: var(--jp-mirror-editor-number-color) } /* Literal.Number.Float */
.highlight .mh { color: var(--jp-mirror-editor-number-color) } /* Literal.Number.Hex */
.highlight .mi { color: var(--jp-mirror-editor-number-color) } /* Literal.Number.Integer */
.highlight .mo { color: var(--jp-mirror-editor-number-color) } /* Literal.Number.Oct */
.highlight .sa { color: var(--jp-mirror-editor-string-color) } /* Literal.String.Affix */
.highlight .sb { color: var(--jp-mirror-editor-string-color) } /* Literal.String.Backtick */
.highlight .sc { color: var(--jp-mirror-editor-string-color) } /* Literal.String.Char */
.highlight .dl { color: var(--jp-mirror-editor-string-color) } /* Literal.String.Delimiter */
.highlight .sd { color: var(--jp-mirror-editor-string-color) } /* Literal.String.Doc */
.highlight .s2 { color: var(--jp-mirror-editor-string-color) } /* Literal.String.Double */
.highlight .se { color: var(--jp-mirror-editor-string-color) } /* Literal.String.Escape */
.highlight .sh { color: var(--jp-mirror-editor-string-color) } /* Literal.String.Heredoc */
.highlight .si { color: var(--jp-mirror-editor-string-color) } /* Literal.String.Interpol */
.highlight .sx { color: var(--jp-mirror-editor-string-color) } /* Literal.String.Other */
.highlight .sr { color: var(--jp-mirror-editor-string-color) } /* Literal.String.Regex */
.highlight .s1 { color: var(--jp-mirror-editor-string-color) } /* Literal.String.Single */
.highlight .ss { color: var(--jp-mirror-editor-string-color) } /* Literal.String.Symbol */
.highlight .il { color: var(--jp-mirror-editor-number-color) } /* Literal.Number.Integer.Long */
  </style>
<style type="text/css">
/*-----------------------------------------------------------------------------
| Copyright (c) Jupyter Development Team.
| Distributed under the terms of the Modified BSD License.
|----------------------------------------------------------------------------*/

/*
 * Mozilla scrollbar styling
 */

/* use standard opaque scrollbars for most nodes */
[data-jp-theme-scrollbars='true'] {
  scrollbar-color: rgb(var(--jp-scrollbar-thumb-color))
    var(--jp-scrollbar-background-color);
}

/* for code nodes, use a transparent style of scrollbar. These selectors
 * will match lower in the tree, and so will override the above */
[data-jp-theme-scrollbars='true'] .CodeMirror-hscrollbar,
[data-jp-theme-scrollbars='true'] .CodeMirror-vscrollbar {
  scrollbar-color: rgba(var(--jp-scrollbar-thumb-color), 0.5) transparent;
}

/* tiny scrollbar */

.jp-scrollbar-tiny {
  scrollbar-color: rgba(var(--jp-scrollbar-thumb-color), 0.5) transparent;
  scrollbar-width: thin;
}

/* tiny scrollbar */

.jp-scrollbar-tiny::-webkit-scrollbar,
.jp-scrollbar-tiny::-webkit-scrollbar-corner {
  background-color: transparent;
  height: 4px;
  width: 4px;
}

.jp-scrollbar-tiny::-webkit-scrollbar-thumb {
  background: rgba(var(--jp-scrollbar-thumb-color), 0.5);
}

.jp-scrollbar-tiny::-webkit-scrollbar-track:horizontal {
  border-left: 0 solid transparent;
  border-right: 0 solid transparent;
}

.jp-scrollbar-tiny::-webkit-scrollbar-track:vertical {
  border-top: 0 solid transparent;
  border-bottom: 0 solid transparent;
}

/*
 * Lumino
 */

.lm-ScrollBar[data-orientation='horizontal'] {
  min-height: 16px;
  max-height: 16px;
  min-width: 45px;
  border-top: 1px solid #a0a0a0;
}

.lm-ScrollBar[data-orientation='vertical'] {
  min-width: 16px;
  max-width: 16px;
  min-height: 45px;
  border-left: 1px solid #a0a0a0;
}

.lm-ScrollBar-button {
  background-color: #f0f0f0;
  background-position: center center;
  min-height: 15px;
  max-height: 15px;
  min-width: 15px;
  max-width: 15px;
}

.lm-ScrollBar-button:hover {
  background-color: #dadada;
}

.lm-ScrollBar-button.lm-mod-active {
  background-color: #cdcdcd;
}

.lm-ScrollBar-track {
  background: #f0f0f0;
}

.lm-ScrollBar-thumb {
  background: #cdcdcd;
}

.lm-ScrollBar-thumb:hover {
  background: #bababa;
}

.lm-ScrollBar-thumb.lm-mod-active {
  background: #a0a0a0;
}

.lm-ScrollBar[data-orientation='horizontal'] .lm-ScrollBar-thumb {
  height: 100%;
  min-width: 15px;
  border-left: 1px solid #a0a0a0;
  border-right: 1px solid #a0a0a0;
}

.lm-ScrollBar[data-orientation='vertical'] .lm-ScrollBar-thumb {
  width: 100%;
  min-height: 15px;
  border-top: 1px solid #a0a0a0;
  border-bottom: 1px solid #a0a0a0;
}

.lm-ScrollBar[data-orientation='horizontal']
  .lm-ScrollBar-button[data-action='decrement'] {
  background-image: var(--jp-icon-caret-left);
  background-size: 17px;
}

.lm-ScrollBar[data-orientation='horizontal']
  .lm-ScrollBar-button[data-action='increment'] {
  background-image: var(--jp-icon-caret-right);
  background-size: 17px;
}

.lm-ScrollBar[data-orientation='vertical']
  .lm-ScrollBar-button[data-action='decrement'] {
  background-image: var(--jp-icon-caret-up);
  background-size: 17px;
}

.lm-ScrollBar[data-orientation='vertical']
  .lm-ScrollBar-button[data-action='increment'] {
  background-image: var(--jp-icon-caret-down);
  background-size: 17px;
}

/*
 * Copyright (c) Jupyter Development Team.
 * Distributed under the terms of the Modified BSD License.
 */

/*-----------------------------------------------------------------------------
| Copyright (c) Jupyter Development Team.
| Copyright (c) 2014-2017, PhosphorJS Contributors
|
| Distributed under the terms of the BSD 3-Clause License.
|
| The full license is in the file LICENSE, distributed with this software.
|----------------------------------------------------------------------------*/

.lm-Widget {
  box-sizing: border-box;
  position: relative;
  overflow: hidden;
}

.lm-Widget.lm-mod-hidden {
  display: none !important;
}

/*
 * Copyright (c) Jupyter Development Team.
 * Distributed under the terms of the Modified BSD License.
 */

.lm-AccordionPanel[data-orientation='horizontal'] > .lm-AccordionPanel-title {
  /* Title is rotated for horizontal accordion panel using CSS */
  display: block;
  transform-origin: top left;
  transform: rotate(-90deg) translate(-100%);
}

/*
 * Copyright (c) Jupyter Development Team.
 * Distributed under the terms of the Modified BSD License.
 */

/*-----------------------------------------------------------------------------
| Copyright (c) Jupyter Development Team.
| Copyright (c) 2014-2017, PhosphorJS Contributors
|
| Distributed under the terms of the BSD 3-Clause License.
|
| The full license is in the file LICENSE, distributed with this software.
|----------------------------------------------------------------------------*/

.lm-CommandPalette {
  display: flex;
  flex-direction: column;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}

.lm-CommandPalette-search {
  flex: 0 0 auto;
}

.lm-CommandPalette-content {
  flex: 1 1 auto;
  margin: 0;
  padding: 0;
  min-height: 0;
  overflow: auto;
  list-style-type: none;
}

.lm-CommandPalette-header {
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
}

.lm-CommandPalette-item {
  display: flex;
  flex-direction: row;
}

.lm-CommandPalette-itemIcon {
  flex: 0 0 auto;
}

.lm-CommandPalette-itemContent {
  flex: 1 1 auto;
  overflow: hidden;
}

.lm-CommandPalette-itemShortcut {
  flex: 0 0 auto;
}

.lm-CommandPalette-itemLabel {
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
}

.lm-close-icon {
  border: 1px solid transparent;
  background-color: transparent;
  position: absolute;
  z-index: 1;
  right: 3%;
  top: 0;
  bottom: 0;
  margin: auto;
  padding: 7px 0;
  display: none;
  vertical-align: middle;
  outline: 0;
  cursor: pointer;
}
.lm-close-icon:after {
  content: 'X';
  display: block;
  width: 15px;
  height: 15px;
  text-align: center;
  color: #000;
  font-weight: normal;
  font-size: 12px;
  cursor: pointer;
}

/*
 * Copyright (c) Jupyter Development Team.
 * Distributed under the terms of the Modified BSD License.
 */

/*-----------------------------------------------------------------------------
| Copyright (c) Jupyter Development Team.
| Copyright (c) 2014-2017, PhosphorJS Contributors
|
| Distributed under the terms of the BSD 3-Clause License.
|
| The full license is in the file LICENSE, distributed with this software.
|----------------------------------------------------------------------------*/

.lm-DockPanel {
  z-index: 0;
}

.lm-DockPanel-widget {
  z-index: 0;
}

.lm-DockPanel-tabBar {
  z-index: 1;
}

.lm-DockPanel-handle {
  z-index: 2;
}

.lm-DockPanel-handle.lm-mod-hidden {
  display: none !important;
}

.lm-DockPanel-handle:after {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  content: '';
}

.lm-DockPanel-handle[data-orientation='horizontal'] {
  cursor: ew-resize;
}

.lm-DockPanel-handle[data-orientation='vertical'] {
  cursor: ns-resize;
}

.lm-DockPanel-handle[data-orientation='horizontal']:after {
  left: 50%;
  min-width: 8px;
  transform: translateX(-50%);
}

.lm-DockPanel-handle[data-orientation='vertical']:after {
  top: 50%;
  min-height: 8px;
  transform: translateY(-50%);
}

.lm-DockPanel-overlay {
  z-index: 3;
  box-sizing: border-box;
  pointer-events: none;
}

.lm-DockPanel-overlay.lm-mod-hidden {
  display: none !important;
}

/*
 * Copyright (c) Jupyter Development Team.
 * Distributed under the terms of the Modified BSD License.
 */

/*-----------------------------------------------------------------------------
| Copyright (c) Jupyter Development Team.
| Copyright (c) 2014-2017, PhosphorJS Contributors
|
| Distributed under the terms of the BSD 3-Clause License.
|
| The full license is in the file LICENSE, distributed with this software.
|----------------------------------------------------------------------------*/

.lm-Menu {
  z-index: 10000;
  position: absolute;
  white-space: nowrap;
  overflow-x: hidden;
  overflow-y: auto;
  outline: none;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}

.lm-Menu-content {
  margin: 0;
  padding: 0;
  display: table;
  list-style-type: none;
}

.lm-Menu-item {
  display: table-row;
}

.lm-Menu-item.lm-mod-hidden,
.lm-Menu-item.lm-mod-collapsed {
  display: none !important;
}

.lm-Menu-itemIcon,
.lm-Menu-itemSubmenuIcon {
  display: table-cell;
  text-align: center;
}

.lm-Menu-itemLabel {
  display: table-cell;
  text-align: left;
}

.lm-Menu-itemShortcut {
  display: table-cell;
  text-align: right;
}

/*
 * Copyright (c) Jupyter Development Team.
 * Distributed under the terms of the Modified BSD License.
 */

/*-----------------------------------------------------------------------------
| Copyright (c) Jupyter Development Team.
| Copyright (c) 2014-2017, PhosphorJS Contributors
|
| Distributed under the terms of the BSD 3-Clause License.
|
| The full license is in the file LICENSE, distributed with this software.
|----------------------------------------------------------------------------*/

.lm-MenuBar {
  outline: none;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}

.lm-MenuBar-content {
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: row;
  list-style-type: none;
}

.lm-MenuBar-item {
  box-sizing: border-box;
}

.lm-MenuBar-itemIcon,
.lm-MenuBar-itemLabel {
  display: inline-block;
}

/*
 * Copyright (c) Jupyter Development Team.
 * Distributed under the terms of the Modified BSD License.
 */

/*-----------------------------------------------------------------------------
| Copyright (c) Jupyter Development Team.
| Copyright (c) 2014-2017, PhosphorJS Contributors
|
| Distributed under the terms of the BSD 3-Clause License.
|
| The full license is in the file LICENSE, distributed with this software.
|----------------------------------------------------------------------------*/

.lm-ScrollBar {
  display: flex;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}

.lm-ScrollBar[data-orientation='horizontal'] {
  flex-direction: row;
}

.lm-ScrollBar[data-orientation='vertical'] {
  flex-direction: column;
}

.lm-ScrollBar-button {
  box-sizing: border-box;
  flex: 0 0 auto;
}

.lm-ScrollBar-track {
  box-sizing: border-box;
  position: relative;
  overflow: hidden;
  flex: 1 1 auto;
}

.lm-ScrollBar-thumb {
  box-sizing: border-box;
  position: absolute;
}

/*
 * Copyright (c) Jupyter Development Team.
 * Distributed under the terms of the Modified BSD License.
 */

/*-----------------------------------------------------------------------------
| Copyright (c) Jupyter Development Team.
| Copyright (c) 2014-2017, PhosphorJS Contributors
|
| Distributed under the terms of the BSD 3-Clause License.
|
| The full license is in the file LICENSE, distributed with this software.
|----------------------------------------------------------------------------*/

.lm-SplitPanel-child {
  z-index: 0;
}

.lm-SplitPanel-handle {
  z-index: 1;
}

.lm-SplitPanel-handle.lm-mod-hidden {
  display: none !important;
}

.lm-SplitPanel-handle:after {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  content: '';
}

.lm-SplitPanel[data-orientation='horizontal'] > .lm-SplitPanel-handle {
  cursor: ew-resize;
}

.lm-SplitPanel[data-orientation='vertical'] > .lm-SplitPanel-handle {
  cursor: ns-resize;
}

.lm-SplitPanel[data-orientation='horizontal'] > .lm-SplitPanel-handle:after {
  left: 50%;
  min-width: 8px;
  transform: translateX(-50%);
}

.lm-SplitPanel[data-orientation='vertical'] > .lm-SplitPanel-handle:after {
  top: 50%;
  min-height: 8px;
  transform: translateY(-50%);
}

/*
 * Copyright (c) Jupyter Development Team.
 * Distributed under the terms of the Modified BSD License.
 */

/*-----------------------------------------------------------------------------
| Copyright (c) Jupyter Development Team.
| Copyright (c) 2014-2017, PhosphorJS Contributors
|
| Distributed under the terms of the BSD 3-Clause License.
|
| The full license is in the file LICENSE, distributed with this software.
|----------------------------------------------------------------------------*/

.lm-TabBar {
  display: flex;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}

.lm-TabBar[data-orientation='horizontal'] {
  flex-direction: row;
  align-items: flex-end;
}

.lm-TabBar[data-orientation='vertical'] {
  flex-direction: column;
  align-items: flex-end;
}

.lm-TabBar-content {
  margin: 0;
  padding: 0;
  display: flex;
  flex: 1 1 auto;
  list-style-type: none;
}

.lm-TabBar[data-orientation='horizontal'] > .lm-TabBar-content {
  flex-direction: row;
}

.lm-TabBar[data-orientation='vertical'] > .lm-TabBar-content {
  flex-direction: column;
}

.lm-TabBar-tab {
  display: flex;
  flex-direction: row;
  box-sizing: border-box;
  overflow: hidden;
  touch-action: none; /* Disable native Drag/Drop */
}

.lm-TabBar-tabIcon,
.lm-TabBar-tabCloseIcon {
  flex: 0 0 auto;
}

.lm-TabBar-tabLabel {
  flex: 1 1 auto;
  overflow: hidden;
  white-space: nowrap;
}

.lm-TabBar-tabInput {
  user-select: all;
  width: 100%;
  box-sizing: border-box;
}

.lm-TabBar-tab.lm-mod-hidden {
  display: none !important;
}

.lm-TabBar-addButton.lm-mod-hidden {
  display: none !important;
}

.lm-TabBar.lm-mod-dragging .lm-TabBar-tab {
  position: relative;
}

.lm-TabBar.lm-mod-dragging[data-orientation='horizontal'] .lm-TabBar-tab {
  left: 0;
  transition: left 150ms ease;
}

.lm-TabBar.lm-mod-dragging[data-orientation='vertical'] .lm-TabBar-tab {
  top: 0;
  transition: top 150ms ease;
}

.lm-TabBar.lm-mod-dragging .lm-TabBar-tab.lm-mod-dragging {
  transition: none;
}

.lm-TabBar-tabLabel .lm-TabBar-tabInput {
  user-select: all;
  width: 100%;
  box-sizing: border-box;
  background: inherit;
}

/*
 * Copyright (c) Jupyter Development Team.
 * Distributed under the terms of the Modified BSD License.
 */

/*-----------------------------------------------------------------------------
| Copyright (c) Jupyter Development Team.
| Copyright (c) 2014-2017, PhosphorJS Contributors
|
| Distributed under the terms of the BSD 3-Clause License.
|
| The full license is in the file LICENSE, distributed with this software.
|----------------------------------------------------------------------------*/

.lm-TabPanel-tabBar {
  z-index: 1;
}

.lm-TabPanel-stackedPanel {
  z-index: 0;
}

/*
 * Copyright (c) Jupyter Development Team.
 * Distributed under the terms of the Modified BSD License.
 */

/*-----------------------------------------------------------------------------
| Copyright (c) Jupyter Development Team.
| Copyright (c) 2014-2017, PhosphorJS Contributors
|
| Distributed under the terms of the BSD 3-Clause License.
|
| The full license is in the file LICENSE, distributed with this software.
|----------------------------------------------------------------------------*/

/*-----------------------------------------------------------------------------
| Copyright (c) Jupyter Development Team.
| Distributed under the terms of the Modified BSD License.
|----------------------------------------------------------------------------*/

.jp-Collapse {
  display: flex;
  flex-direction: column;
  align-items: stretch;
}

.jp-Collapse-header {
  padding: 1px 12px;
  background-color: var(--jp-layout-color1);
  border-bottom: solid var(--jp-border-width) var(--jp-border-color2);
  color: var(--jp-ui-font-color1);
  cursor: pointer;
  display: flex;
  align-items: center;
  font-size: var(--jp-ui-font-size0);
  font-weight: 600;
  text-transform: uppercase;
  user-select: none;
}

.jp-Collapser-icon {
  height: 16px;
}

.jp-Collapse-header-collapsed .jp-Collapser-icon {
  transform: rotate(-90deg);
  margin: auto 0;
}

.jp-Collapser-title {
  line-height: 25px;
}

.jp-Collapse-contents {
  padding: 0 12px;
  background-color: var(--jp-layout-color1);
  color: var(--jp-ui-font-color1);
  overflow: auto;
}

/*-----------------------------------------------------------------------------
| Copyright (c) Jupyter Development Team.
| Distributed under the terms of the Modified BSD License.
|----------------------------------------------------------------------------*/

/* This file was auto-generated by ensureUiComponents() in @jupyterlab/buildutils */

/**
 * (DEPRECATED) Support for consuming icons as CSS background images
 */

/* Icons urls */

:root {
  --jp-icon-add-above: url();
  --jp-icon-add-below: url();
  --jp-icon-add: url();
  --jp-icon-bell: url();
  --jp-icon-bug-dot: url();
  --jp-icon-bug: url();
  --jp-icon-build: url();
  --jp-icon-caret-down-empty-thin: url();
  --jp-icon-caret-down-empty: url();
  --jp-icon-caret-down: url();
  --jp-icon-caret-left: url();
  --jp-icon-caret-right: url();
  --jp-icon-caret-up-empty-thin: url();
  --jp-icon-caret-up: url();
  --jp-icon-case-sensitive: url();
  --jp-icon-check: url();
  --jp-icon-circle-empty: url();
  --jp-icon-circle: url();
  --jp-icon-clear: url();
  --jp-icon-close: url();
  --jp-icon-code-check: url();
  --jp-icon-code: url();
  --jp-icon-collapse-all: url();
  --jp-icon-console: url();
  --jp-icon-copy: url();
  --jp-icon-copyright: url();
  --jp-icon-cut: url();
  --jp-icon-delete: url();
  --jp-icon-download: url();
  --jp-icon-duplicate: url();
  --jp-icon-edit: url();
  --jp-icon-ellipses: url();
  --jp-icon-error: url();
  --jp-icon-expand-all: url();
  --jp-icon-extension: url();
  --jp-icon-fast-forward: url();
  --jp-icon-file-upload: url();
  --jp-icon-file: url();
  --jp-icon-filter-dot: url();
  --jp-icon-filter-list: url();
  --jp-icon-filter: url();
  --jp-icon-folder-favorite: url();
  --jp-icon-folder: url();
  --jp-icon-home: url();
  --jp-icon-html5: url();
  --jp-icon-image: url();
  --jp-icon-info: url();
  --jp-icon-inspector: url();
  --jp-icon-json: url();
  --jp-icon-julia: url();
  --jp-icon-jupyter-favicon: url();
  --jp-icon-jupyter: url();
  --jp-icon-jupyterlab-wordmark: url();
  --jp-icon-kernel: url();
  --jp-icon-keyboard: url();
  --jp-icon-launch: url();
  --jp-icon-launcher: url();
  --jp-icon-line-form: url();
  --jp-icon-link: url();
  --jp-icon-list: url();
  --jp-icon-markdown: url();
  --jp-icon-move-down: url();
  --jp-icon-move-up: url();
  --jp-icon-new-folder: url();
  --jp-icon-not-trusted: url();
  --jp-icon-notebook: url();
  --jp-icon-numbering: url();
  --jp-icon-offline-bolt: url();
  --jp-icon-palette: url();
  --jp-icon-paste: url();
  --jp-icon-pdf: url();
  --jp-icon-python: url();
  --jp-icon-r-kernel: url();
  --jp-icon-react: url();
  --jp-icon-redo: url();
  --jp-icon-refresh: url();
  --jp-icon-regex: url();
  --jp-icon-run: url();
  --jp-icon-running: url();
  --jp-icon-save: url();
  --jp-icon-search: url();
  --jp-icon-settings: url();
  --jp-icon-share: url();
  --jp-icon-spreadsheet: url();
  --jp-icon-stop: url();
  --jp-icon-tab: url();
  --jp-icon-table-rows: url();
  --jp-icon-tag: url();
  --jp-icon-terminal: url();
  --jp-icon-text-editor: url();
  --jp-icon-toc: url();
  --jp-icon-tree-view: url();
  --jp-icon-trusted: url();
  --jp-icon-undo: url();
  --jp-icon-user: url();
  --jp-icon-users: url();
  --jp-icon-vega: url();
  --jp-icon-word: url();
  --jp-icon-yaml: url();
}

/* Icon CSS class declarations */

.jp-AddAboveIcon {
  background-image: var(--jp-icon-add-above);
}

.jp-AddBelowIcon {
  background-image: var(--jp-icon-add-below);
}

.jp-AddIcon {
  background-image: var(--jp-icon-add);
}

.jp-BellIcon {
  background-image: var(--jp-icon-bell);
}

.jp-BugDotIcon {
  background-image: var(--jp-icon-bug-dot);
}

.jp-BugIcon {
  background-image: var(--jp-icon-bug);
}

.jp-BuildIcon {
  background-image: var(--jp-icon-build);
}

.jp-CaretDownEmptyIcon {
  background-image: var(--jp-icon-caret-down-empty);
}

.jp-CaretDownEmptyThinIcon {
  background-image: var(--jp-icon-caret-down-empty-thin);
}

.jp-CaretDownIcon {
  background-image: var(--jp-icon-caret-down);
}

.jp-CaretLeftIcon {
  background-image: var(--jp-icon-caret-left);
}

.jp-CaretRightIcon {
  background-image: var(--jp-icon-caret-right);
}

.jp-CaretUpEmptyThinIcon {
  background-image: var(--jp-icon-caret-up-empty-thin);
}

.jp-CaretUpIcon {
  background-image: var(--jp-icon-caret-up);
}

.jp-CaseSensitiveIcon {
  background-image: var(--jp-icon-case-sensitive);
}

.jp-CheckIcon {
  background-image: var(--jp-icon-check);
}

.jp-CircleEmptyIcon {
  background-image: var(--jp-icon-circle-empty);
}

.jp-CircleIcon {
  background-image: var(--jp-icon-circle);
}

.jp-ClearIcon {
  background-image: var(--jp-icon-clear);
}

.jp-CloseIcon {
  background-image: var(--jp-icon-close);
}

.jp-CodeCheckIcon {
  background-image: var(--jp-icon-code-check);
}

.jp-CodeIcon {
  background-image: var(--jp-icon-code);
}

.jp-CollapseAllIcon {
  background-image: var(--jp-icon-collapse-all);
}

.jp-ConsoleIcon {
  background-image: var(--jp-icon-console);
}

.jp-CopyIcon {
  background-image: var(--jp-icon-copy);
}

.jp-CopyrightIcon {
  background-image: var(--jp-icon-copyright);
}

.jp-CutIcon {
  background-image: var(--jp-icon-cut);
}

.jp-DeleteIcon {
  background-image: var(--jp-icon-delete);
}

.jp-DownloadIcon {
  background-image: var(--jp-icon-download);
}

.jp-DuplicateIcon {
  background-image: var(--jp-icon-duplicate);
}

.jp-EditIcon {
  background-image: var(--jp-icon-edit);
}

.jp-EllipsesIcon {
  background-image: var(--jp-icon-ellipses);
}

.jp-ErrorIcon {
  background-image: var(--jp-icon-error);
}

.jp-ExpandAllIcon {
  background-image: var(--jp-icon-expand-all);
}

.jp-ExtensionIcon {
  background-image: var(--jp-icon-extension);
}

.jp-FastForwardIcon {
  background-image: var(--jp-icon-fast-forward);
}

.jp-FileIcon {
  background-image: var(--jp-icon-file);
}

.jp-FileUploadIcon {
  background-image: var(--jp-icon-file-upload);
}

.jp-FilterDotIcon {
  background-image: var(--jp-icon-filter-dot);
}

.jp-FilterIcon {
  background-image: var(--jp-icon-filter);
}

.jp-FilterListIcon {
  background-image: var(--jp-icon-filter-list);
}

.jp-FolderFavoriteIcon {
  background-image: var(--jp-icon-folder-favorite);
}

.jp-FolderIcon {
  background-image: var(--jp-icon-folder);
}

.jp-HomeIcon {
  background-image: var(--jp-icon-home);
}

.jp-Html5Icon {
  background-image: var(--jp-icon-html5);
}

.jp-ImageIcon {
  background-image: var(--jp-icon-image);
}

.jp-InfoIcon {
  background-image: var(--jp-icon-info);
}

.jp-InspectorIcon {
  background-image: var(--jp-icon-inspector);
}

.jp-JsonIcon {
  background-image: var(--jp-icon-json);
}

.jp-JuliaIcon {
  background-image: var(--jp-icon-julia);
}

.jp-JupyterFaviconIcon {
  background-image: var(--jp-icon-jupyter-favicon);
}

.jp-JupyterIcon {
  background-image: var(--jp-icon-jupyter);
}

.jp-JupyterlabWordmarkIcon {
  background-image: var(--jp-icon-jupyterlab-wordmark);
}

.jp-KernelIcon {
  background-image: var(--jp-icon-kernel);
}

.jp-KeyboardIcon {
  background-image: var(--jp-icon-keyboard);
}

.jp-LaunchIcon {
  background-image: var(--jp-icon-launch);
}

.jp-LauncherIcon {
  background-image: var(--jp-icon-launcher);
}

.jp-LineFormIcon {
  background-image: var(--jp-icon-line-form);
}

.jp-LinkIcon {
  background-image: var(--jp-icon-link);
}

.jp-ListIcon {
  background-image: var(--jp-icon-list);
}

.jp-MarkdownIcon {
  background-image: var(--jp-icon-markdown);
}

.jp-MoveDownIcon {
  background-image: var(--jp-icon-move-down);
}

.jp-MoveUpIcon {
  background-image: var(--jp-icon-move-up);
}

.jp-NewFolderIcon {
  background-image: var(--jp-icon-new-folder);
}

.jp-NotTrustedIcon {
  background-image: var(--jp-icon-not-trusted);
}

.jp-NotebookIcon {
  background-image: var(--jp-icon-notebook);
}

.jp-NumberingIcon {
  background-image: var(--jp-icon-numbering);
}

.jp-OfflineBoltIcon {
  background-image: var(--jp-icon-offline-bolt);
}

.jp-PaletteIcon {
  background-image: var(--jp-icon-palette);
}

.jp-PasteIcon {
  background-image: var(--jp-icon-paste);
}

.jp-PdfIcon {
  background-image: var(--jp-icon-pdf);
}

.jp-PythonIcon {
  background-image: var(--jp-icon-python);
}

.jp-RKernelIcon {
  background-image: var(--jp-icon-r-kernel);
}

.jp-ReactIcon {
  background-image: var(--jp-icon-react);
}

.jp-RedoIcon {
  background-image: var(--jp-icon-redo);
}

.jp-RefreshIcon {
  background-image: var(--jp-icon-refresh);
}

.jp-RegexIcon {
  background-image: var(--jp-icon-regex);
}

.jp-RunIcon {
  background-image: var(--jp-icon-run);
}

.jp-RunningIcon {
  background-image: var(--jp-icon-running);
}

.jp-SaveIcon {
  background-image: var(--jp-icon-save);
}

.jp-SearchIcon {
  background-image: var(--jp-icon-search);
}

.jp-SettingsIcon {
  background-image: var(--jp-icon-settings);
}

.jp-ShareIcon {
  background-image: var(--jp-icon-share);
}

.jp-SpreadsheetIcon {
  background-image: var(--jp-icon-spreadsheet);
}

.jp-StopIcon {
  background-image: var(--jp-icon-stop);
}

.jp-TabIcon {
  background-image: var(--jp-icon-tab);
}

.jp-TableRowsIcon {
  background-image: var(--jp-icon-table-rows);
}

.jp-TagIcon {
  background-image: var(--jp-icon-tag);
}

.jp-TerminalIcon {
  background-image: var(--jp-icon-terminal);
}

.jp-TextEditorIcon {
  background-image: var(--jp-icon-text-editor);
}

.jp-TocIcon {
  background-image: var(--jp-icon-toc);
}

.jp-TreeViewIcon {
  background-image: var(--jp-icon-tree-view);
}

.jp-TrustedIcon {
  background-image: var(--jp-icon-trusted);
}

.jp-UndoIcon {
  background-image: var(--jp-icon-undo);
}

.jp-UserIcon {
  background-image: var(--jp-icon-user);
}

.jp-UsersIcon {
  background-image: var(--jp-icon-users);
}

.jp-VegaIcon {
  background-image: var(--jp-icon-vega);
}

.jp-WordIcon {
  background-image: var(--jp-icon-word);
}

.jp-YamlIcon {
  background-image: var(--jp-icon-yaml);
}

/*-----------------------------------------------------------------------------
| Copyright (c) Jupyter Development Team.
| Distributed under the terms of the Modified BSD License.
|----------------------------------------------------------------------------*/

/**
 * (DEPRECATED) Support for consuming icons as CSS background images
 */

.jp-Icon,
.jp-MaterialIcon {
  background-position: center;
  background-repeat: no-repeat;
  background-size: 16px;
  min-width: 16px;
  min-height: 16px;
}

.jp-Icon-cover {
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
}

/**
 * (DEPRECATED) Support for specific CSS icon sizes
 */

.jp-Icon-16 {
  background-size: 16px;
  min-width: 16px;
  min-height: 16px;
}

.jp-Icon-18 {
  background-size: 18px;
  min-width: 18px;
  min-height: 18px;
}

.jp-Icon-20 {
  background-size: 20px;
  min-width: 20px;
  min-height: 20px;
}

/*-----------------------------------------------------------------------------
| Copyright (c) Jupyter Development Team.
| Distributed under the terms of the Modified BSD License.
|----------------------------------------------------------------------------*/

.lm-TabBar .lm-TabBar-addButton {
  align-items: center;
  display: flex;
  padding: 4px;
  padding-bottom: 5px;
  margin-right: 1px;
  background-color: var(--jp-layout-color2);
}

.lm-TabBar .lm-TabBar-addButton:hover {
  background-color: var(--jp-layout-color1);
}

.lm-DockPanel-tabBar .lm-TabBar-tab {
  width: var(--jp-private-horizontal-tab-width);
}

.lm-DockPanel-tabBar .lm-TabBar-content {
  flex: unset;
}

.lm-DockPanel-tabBar[data-orientation='horizontal'] {
  flex: 1 1 auto;
}

/*-----------------------------------------------------------------------------
| Copyright (c) Jupyter Development Team.
| Distributed under the terms of the Modified BSD License.
|----------------------------------------------------------------------------*/

/**
 * Support for icons as inline SVG HTMLElements
 */

/* recolor the primary elements of an icon */
.jp-icon0[fill] {
  fill: var(--jp-inverse-layout-color0);
}

.jp-icon1[fill] {
  fill: var(--jp-inverse-layout-color1);
}

.jp-icon2[fill] {
  fill: var(--jp-inverse-layout-color2);
}

.jp-icon3[fill] {
  fill: var(--jp-inverse-layout-color3);
}

.jp-icon4[fill] {
  fill: var(--jp-inverse-layout-color4);
}

.jp-icon0[stroke] {
  stroke: var(--jp-inverse-layout-color0);
}

.jp-icon1[stroke] {
  stroke: var(--jp-inverse-layout-color1);
}

.jp-icon2[stroke] {
  stroke: var(--jp-inverse-layout-color2);
}

.jp-icon3[stroke] {
  stroke: var(--jp-inverse-layout-color3);
}

.jp-icon4[stroke] {
  stroke: var(--jp-inverse-layout-color4);
}

/* recolor the accent elements of an icon */
.jp-icon-accent0[fill] {
  fill: var(--jp-layout-color0);
}

.jp-icon-accent1[fill] {
  fill: var(--jp-layout-color1);
}

.jp-icon-accent2[fill] {
  fill: var(--jp-layout-color2);
}

.jp-icon-accent3[fill] {
  fill: var(--jp-layout-color3);
}

.jp-icon-accent4[fill] {
  fill: var(--jp-layout-color4);
}

.jp-icon-accent0[stroke] {
  stroke: var(--jp-layout-color0);
}

.jp-icon-accent1[stroke] {
  stroke: var(--jp-layout-color1);
}

.jp-icon-accent2[stroke] {
  stroke: var(--jp-layout-color2);
}

.jp-icon-accent3[stroke] {
  stroke: var(--jp-layout-color3);
}

.jp-icon-accent4[stroke] {
  stroke: var(--jp-layout-color4);
}

/* set the color of an icon to transparent */
.jp-icon-none[fill] {
  fill: none;
}

.jp-icon-none[stroke] {
  stroke: none;
}

/* brand icon colors. Same for light and dark */
.jp-icon-brand0[fill] {
  fill: var(--jp-brand-color0);
}

.jp-icon-brand1[fill] {
  fill: var(--jp-brand-color1);
}

.jp-icon-brand2[fill] {
  fill: var(--jp-brand-color2);
}

.jp-icon-brand3[fill] {
  fill: var(--jp-brand-color3);
}

.jp-icon-brand4[fill] {
  fill: var(--jp-brand-color4);
}

.jp-icon-brand0[stroke] {
  stroke: var(--jp-brand-color0);
}

.jp-icon-brand1[stroke] {
  stroke: var(--jp-brand-color1);
}

.jp-icon-brand2[stroke] {
  stroke: var(--jp-brand-color2);
}

.jp-icon-brand3[stroke] {
  stroke: var(--jp-brand-color3);
}

.jp-icon-brand4[stroke] {
  stroke: var(--jp-brand-color4);
}

/* warn icon colors. Same for light and dark */
.jp-icon-warn0[fill] {
  fill: var(--jp-warn-color0);
}

.jp-icon-warn1[fill] {
  fill: var(--jp-warn-color1);
}

.jp-icon-warn2[fill] {
  fill: var(--jp-warn-color2);
}

.jp-icon-warn3[fill] {
  fill: var(--jp-warn-color3);
}

.jp-icon-warn0[stroke] {
  stroke: var(--jp-warn-color0);
}

.jp-icon-warn1[stroke] {
  stroke: var(--jp-warn-color1);
}

.jp-icon-warn2[stroke] {
  stroke: var(--jp-warn-color2);
}

.jp-icon-warn3[stroke] {
  stroke: var(--jp-warn-color3);
}

/* icon colors that contrast well with each other and most backgrounds */
.jp-icon-contrast0[fill] {
  fill: var(--jp-icon-contrast-color0);
}

.jp-icon-contrast1[fill] {
  fill: var(--jp-icon-contrast-color1);
}

.jp-icon-contrast2[fill] {
  fill: var(--jp-icon-contrast-color2);
}

.jp-icon-contrast3[fill] {
  fill: var(--jp-icon-contrast-color3);
}

.jp-icon-contrast0[stroke] {
  stroke: var(--jp-icon-contrast-color0);
}

.jp-icon-contrast1[stroke] {
  stroke: var(--jp-icon-contrast-color1);
}

.jp-icon-contrast2[stroke] {
  stroke: var(--jp-icon-contrast-color2);
}

.jp-icon-contrast3[stroke] {
  stroke: var(--jp-icon-contrast-color3);
}

.jp-icon-dot[fill] {
  fill: var(--jp-warn-color0);
}

.jp-jupyter-icon-color[fill] {
  fill: var(--jp-jupyter-icon-color, var(--jp-warn-color0));
}

.jp-notebook-icon-color[fill] {
  fill: var(--jp-notebook-icon-color, var(--jp-warn-color0));
}

.jp-json-icon-color[fill] {
  fill: var(--jp-json-icon-color, var(--jp-warn-color1));
}

.jp-console-icon-color[fill] {
  fill: var(--jp-console-icon-color, white);
}

.jp-console-icon-background-color[fill] {
  fill: var(--jp-console-icon-background-color, var(--jp-brand-color1));
}

.jp-terminal-icon-color[fill] {
  fill: var(--jp-terminal-icon-color, var(--jp-layout-color2));
}

.jp-terminal-icon-background-color[fill] {
  fill: var(
    --jp-terminal-icon-background-color,
    var(--jp-inverse-layout-color2)
  );
}

.jp-text-editor-icon-color[fill] {
  fill: var(--jp-text-editor-icon-color, var(--jp-inverse-layout-color3));
}

.jp-inspector-icon-color[fill] {
  fill: var(--jp-inspector-icon-color, var(--jp-inverse-layout-color3));
}

/* CSS for icons in selected filebrowser listing items */
.jp-DirListing-item.jp-mod-selected .jp-icon-selectable[fill] {
  fill: #fff;
}

.jp-DirListing-item.jp-mod-selected .jp-icon-selectable-inverse[fill] {
  fill: var(--jp-brand-color1);
}

/* stylelint-disable selector-max-class, selector-max-compound-selectors */

/**
* TODO: come up with non css-hack solution for showing the busy icon on top
*  of the close icon
* CSS for complex behavior of close icon of tabs in the main area tabbar
*/
.lm-DockPanel-tabBar
  .lm-TabBar-tab.lm-mod-closable.jp-mod-dirty
  > .lm-TabBar-tabCloseIcon
  > :not(:hover)
  > .jp-icon3[fill] {
  fill: none;
}

.lm-DockPanel-tabBar
  .lm-TabBar-tab.lm-mod-closable.jp-mod-dirty
  > .lm-TabBar-tabCloseIcon
  > :not(:hover)
  > .jp-icon-busy[fill] {
  fill: var(--jp-inverse-layout-color3);
}

/* stylelint-enable selector-max-class, selector-max-compound-selectors */

/* CSS for icons in status bar */
#jp-main-statusbar .jp-mod-selected .jp-icon-selectable[fill] {
  fill: #fff;
}

#jp-main-statusbar .jp-mod-selected .jp-icon-selectable-inverse[fill] {
  fill: var(--jp-brand-color1);
}

/* special handling for splash icon CSS. While the theme CSS reloads during
   splash, the splash icon can loose theming. To prevent that, we set a
   default for its color variable */
:root {
  --jp-warn-color0: var(--md-orange-700);
}

/* not sure what to do with this one, used in filebrowser listing */
.jp-DragIcon {
  margin-right: 4px;
}

/*-----------------------------------------------------------------------------
| Copyright (c) Jupyter Development Team.
| Distributed under the terms of the Modified BSD License.
|----------------------------------------------------------------------------*/

/**
 * Support for alt colors for icons as inline SVG HTMLElements
 */

/* alt recolor the primary elements of an icon */
.jp-icon-alt .jp-icon0[fill] {
  fill: var(--jp-layout-color0);
}

.jp-icon-alt .jp-icon1[fill] {
  fill: var(--jp-layout-color1);
}

.jp-icon-alt .jp-icon2[fill] {
  fill: var(--jp-layout-color2);
}

.jp-icon-alt .jp-icon3[fill] {
  fill: var(--jp-layout-color3);
}

.jp-icon-alt .jp-icon4[fill] {
  fill: var(--jp-layout-color4);
}

.jp-icon-alt .jp-icon0[stroke] {
  stroke: var(--jp-layout-color0);
}

.jp-icon-alt .jp-icon1[stroke] {
  stroke: var(--jp-layout-color1);
}

.jp-icon-alt .jp-icon2[stroke] {
  stroke: var(--jp-layout-color2);
}

.jp-icon-alt .jp-icon3[stroke] {
  stroke: var(--jp-layout-color3);
}

.jp-icon-alt .jp-icon4[stroke] {
  stroke: var(--jp-layout-color4);
}

/* alt recolor the accent elements of an icon */
.jp-icon-alt .jp-icon-accent0[fill] {
  fill: var(--jp-inverse-layout-color0);
}

.jp-icon-alt .jp-icon-accent1[fill] {
  fill: var(--jp-inverse-layout-color1);
}

.jp-icon-alt .jp-icon-accent2[fill] {
  fill: var(--jp-inverse-layout-color2);
}

.jp-icon-alt .jp-icon-accent3[fill] {
  fill: var(--jp-inverse-layout-color3);
}

.jp-icon-alt .jp-icon-accent4[fill] {
  fill: var(--jp-inverse-layout-color4);
}

.jp-icon-alt .jp-icon-accent0[stroke] {
  stroke: var(--jp-inverse-layout-color0);
}

.jp-icon-alt .jp-icon-accent1[stroke] {
  stroke: var(--jp-inverse-layout-color1);
}

.jp-icon-alt .jp-icon-accent2[stroke] {
  stroke: var(--jp-inverse-layout-color2);
}

.jp-icon-alt .jp-icon-accent3[stroke] {
  stroke: var(--jp-inverse-layout-color3);
}

.jp-icon-alt .jp-icon-accent4[stroke] {
  stroke: var(--jp-inverse-layout-color4);
}

/*-----------------------------------------------------------------------------
| Copyright (c) Jupyter Development Team.
| Distributed under the terms of the Modified BSD License.
|----------------------------------------------------------------------------*/

.jp-icon-hoverShow:not(:hover) .jp-icon-hoverShow-content {
  display: none !important;
}

/**
 * Support for hover colors for icons as inline SVG HTMLElements
 */

/**
 * regular colors
 */

/* recolor the primary elements of an icon */
.jp-icon-hover :hover .jp-icon0-hover[fill] {
  fill: var(--jp-inverse-layout-color0);
}

.jp-icon-hover :hover .jp-icon1-hover[fill] {
  fill: var(--jp-inverse-layout-color1);
}

.jp-icon-hover :hover .jp-icon2-hover[fill] {
  fill: var(--jp-inverse-layout-color2);
}

.jp-icon-hover :hover .jp-icon3-hover[fill] {
  fill: var(--jp-inverse-layout-color3);
}

.jp-icon-hover :hover .jp-icon4-hover[fill] {
  fill: var(--jp-inverse-layout-color4);
}

.jp-icon-hover :hover .jp-icon0-hover[stroke] {
  stroke: var(--jp-inverse-layout-color0);
}

.jp-icon-hover :hover .jp-icon1-hover[stroke] {
  stroke: var(--jp-inverse-layout-color1);
}

.jp-icon-hover :hover .jp-icon2-hover[stroke] {
  stroke: var(--jp-inverse-layout-color2);
}

.jp-icon-hover :hover .jp-icon3-hover[stroke] {
  stroke: var(--jp-inverse-layout-color3);
}

.jp-icon-hover :hover .jp-icon4-hover[stroke] {
  stroke: var(--jp-inverse-layout-color4);
}

/* recolor the accent elements of an icon */
.jp-icon-hover :hover .jp-icon-accent0-hover[fill] {
  fill: var(--jp-layout-color0);
}

.jp-icon-hover :hover .jp-icon-accent1-hover[fill] {
  fill: var(--jp-layout-color1);
}

.jp-icon-hover :hover .jp-icon-accent2-hover[fill] {
  fill: var(--jp-layout-color2);
}

.jp-icon-hover :hover .jp-icon-accent3-hover[fill] {
  fill: var(--jp-layout-color3);
}

.jp-icon-hover :hover .jp-icon-accent4-hover[fill] {
  fill: var(--jp-layout-color4);
}

.jp-icon-hover :hover .jp-icon-accent0-hover[stroke] {
  stroke: var(--jp-layout-color0);
}

.jp-icon-hover :hover .jp-icon-accent1-hover[stroke] {
  stroke: var(--jp-layout-color1);
}

.jp-icon-hover :hover .jp-icon-accent2-hover[stroke] {
  stroke: var(--jp-layout-color2);
}

.jp-icon-hover :hover .jp-icon-accent3-hover[stroke] {
  stroke: var(--jp-layout-color3);
}

.jp-icon-hover :hover .jp-icon-accent4-hover[stroke] {
  stroke: var(--jp-layout-color4);
}

/* set the color of an icon to transparent */
.jp-icon-hover :hover .jp-icon-none-hover[fill] {
  fill: none;
}

.jp-icon-hover :hover .jp-icon-none-hover[stroke] {
  stroke: none;
}

/**
 * inverse colors
 */

/* inverse recolor the primary elements of an icon */
.jp-icon-hover.jp-icon-alt :hover .jp-icon0-hover[fill] {
  fill: var(--jp-layout-color0);
}

.jp-icon-hover.jp-icon-alt :hover .jp-icon1-hover[fill] {
  fill: var(--jp-layout-color1);
}

.jp-icon-hover.jp-icon-alt :hover .jp-icon2-hover[fill] {
  fill: var(--jp-layout-color2);
}

.jp-icon-hover.jp-icon-alt :hover .jp-icon3-hover[fill] {
  fill: var(--jp-layout-color3);
}

.jp-icon-hover.jp-icon-alt :hover .jp-icon4-hover[fill] {
  fill: var(--jp-layout-color4);
}

.jp-icon-hover.jp-icon-alt :hover .jp-icon0-hover[stroke] {
  stroke: var(--jp-layout-color0);
}

.jp-icon-hover.jp-icon-alt :hover .jp-icon1-hover[stroke] {
  stroke: var(--jp-layout-color1);
}

.jp-icon-hover.jp-icon-alt :hover .jp-icon2-hover[stroke] {
  stroke: var(--jp-layout-color2);
}

.jp-icon-hover.jp-icon-alt :hover .jp-icon3-hover[stroke] {
  stroke: var(--jp-layout-color3);
}

.jp-icon-hover.jp-icon-alt :hover .jp-icon4-hover[stroke] {
  stroke: var(--jp-layout-color4);
}

/* inverse recolor the accent elements of an icon */
.jp-icon-hover.jp-icon-alt :hover .jp-icon-accent0-hover[fill] {
  fill: var(--jp-inverse-layout-color0);
}

.jp-icon-hover.jp-icon-alt :hover .jp-icon-accent1-hover[fill] {
  fill: var(--jp-inverse-layout-color1);
}

.jp-icon-hover.jp-icon-alt :hover .jp-icon-accent2-hover[fill] {
  fill: var(--jp-inverse-layout-color2);
}

.jp-icon-hover.jp-icon-alt :hover .jp-icon-accent3-hover[fill] {
  fill: var(--jp-inverse-layout-color3);
}

.jp-icon-hover.jp-icon-alt :hover .jp-icon-accent4-hover[fill] {
  fill: var(--jp-inverse-layout-color4);
}

.jp-icon-hover.jp-icon-alt :hover .jp-icon-accent0-hover[stroke] {
  stroke: var(--jp-inverse-layout-color0);
}

.jp-icon-hover.jp-icon-alt :hover .jp-icon-accent1-hover[stroke] {
  stroke: var(--jp-inverse-layout-color1);
}

.jp-icon-hover.jp-icon-alt :hover .jp-icon-accent2-hover[stroke] {
  stroke: var(--jp-inverse-layout-color2);
}

.jp-icon-hover.jp-icon-alt :hover .jp-icon-accent3-hover[stroke] {
  stroke: var(--jp-inverse-layout-color3);
}

.jp-icon-hover.jp-icon-alt :hover .jp-icon-accent4-hover[stroke] {
  stroke: var(--jp-inverse-layout-color4);
}

/*-----------------------------------------------------------------------------
| Copyright (c) Jupyter Development Team.
| Distributed under the terms of the Modified BSD License.
|----------------------------------------------------------------------------*/

.jp-IFrame {
  width: 100%;
  height: 100%;
}

.jp-IFrame > iframe {
  border: none;
}

/*
When drag events occur, `lm-mod-override-cursor` is added to the body.
Because iframes steal all cursor events, the following two rules are necessary
to suppress pointer events while resize drags are occurring. There may be a
better solution to this problem.
*/
body.lm-mod-override-cursor .jp-IFrame {
  position: relative;
}

body.lm-mod-override-cursor .jp-IFrame::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: transparent;
}

/*-----------------------------------------------------------------------------
| Copyright (c) 2014-2016, Jupyter Development Team.
|
| Distributed under the terms of the Modified BSD License.
|----------------------------------------------------------------------------*/

.jp-HoverBox {
  position: fixed;
}

/*-----------------------------------------------------------------------------
| Copyright (c) Jupyter Development Team.
| Distributed under the terms of the Modified BSD License.
|----------------------------------------------------------------------------*/

.jp-FormGroup-content fieldset {
  border: none;
  padding: 0;
  min-width: 0;
  width: 100%;
}

/* stylelint-disable selector-max-type */

.jp-FormGroup-content fieldset .jp-inputFieldWrapper input,
.jp-FormGroup-content fieldset .jp-inputFieldWrapper select,
.jp-FormGroup-content fieldset .jp-inputFieldWrapper textarea {
  font-size: var(--jp-content-font-size2);
  border-color: var(--jp-input-border-color);
  border-style: solid;
  border-radius: var(--jp-border-radius);
  border-width: 1px;
  padding: 6px 8px;
  background: none;
  color: var(--jp-ui-font-color0);
  height: inherit;
}

.jp-FormGroup-content fieldset input[type='checkbox'] {
  position: relative;
  top: 2px;
  margin-left: 0;
}

.jp-FormGroup-content button.jp-mod-styled {
  cursor: pointer;
}

.jp-FormGroup-content .checkbox label {
  cursor: pointer;
  font-size: var(--jp-content-font-size1);
}

.jp-FormGroup-content .jp-root > fieldset > legend {
  display: none;
}

.jp-FormGroup-content .jp-root > fieldset > p {
  display: none;
}

/** copy of `input.jp-mod-styled:focus` style */
.jp-FormGroup-content fieldset input:focus,
.jp-FormGroup-content fieldset select:focus {
  -moz-outline-radius: unset;
  outline: var(--jp-border-width) solid var(--md-blue-500);
  outline-offset: -1px;
  box-shadow: inset 0 0 4px var(--md-blue-300);
}

.jp-FormGroup-content fieldset input:hover:not(:focus),
.jp-FormGroup-content fieldset select:hover:not(:focus) {
  background-color: var(--jp-border-color2);
}

/* stylelint-enable selector-max-type */

.jp-FormGroup-content .checkbox .field-description {
  /* Disable default description field for checkbox:
   because other widgets do not have description fields,
   we add descriptions to each widget on the field level.
  */
  display: none;
}

.jp-FormGroup-content #root__description {
  display: none;
}

.jp-FormGroup-content .jp-modifiedIndicator {
  width: 5px;
  background-color: var(--jp-brand-color2);
  margin-top: 0;
  margin-left: calc(var(--jp-private-settingeditor-modifier-indent) * -1);
  flex-shrink: 0;
}

.jp-FormGroup-content .jp-modifiedIndicator.jp-errorIndicator {
  background-color: var(--jp-error-color0);
  margin-right: 0.5em;
}

/* RJSF ARRAY style */

.jp-arrayFieldWrapper legend {
  font-size: var(--jp-content-font-size2);
  color: var(--jp-ui-font-color0);
  flex-basis: 100%;
  padding: 4px 0;
  font-weight: var(--jp-content-heading-font-weight);
  border-bottom: 1px solid var(--jp-border-color2);
}

.jp-arrayFieldWrapper .field-description {
  padding: 4px 0;
  white-space: pre-wrap;
}

.jp-arrayFieldWrapper .array-item {
  width: 100%;
  border: 1px solid var(--jp-border-color2);
  border-radius: 4px;
  margin: 4px;
}

.jp-ArrayOperations {
  display: flex;
  margin-left: 8px;
}

.jp-ArrayOperationsButton {
  margin: 2px;
}

.jp-ArrayOperationsButton .jp-icon3[fill] {
  fill: var(--jp-ui-font-color0);
}

button.jp-ArrayOperationsButton.jp-mod-styled:disabled {
  cursor: not-allowed;
  opacity: 0.5;
}

/* RJSF form validation error */

.jp-FormGroup-content .validationErrors {
  color: var(--jp-error-color0);
}

/* Hide panel level error as duplicated the field level error */
.jp-FormGroup-content .panel.errors {
  display: none;
}

/* RJSF normal content (settings-editor) */

.jp-FormGroup-contentNormal {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
}

.jp-FormGroup-contentNormal .jp-FormGroup-contentItem {
  margin-left: 7px;
  color: var(--jp-ui-font-color0);
}

.jp-FormGroup-contentNormal .jp-FormGroup-description {
  flex-basis: 100%;
  padding: 4px 7px;
}

.jp-FormGroup-contentNormal .jp-FormGroup-default {
  flex-basis: 100%;
  padding: 4px 7px;
}

.jp-FormGroup-contentNormal .jp-FormGroup-fieldLabel {
  font-size: var(--jp-content-font-size1);
  font-weight: normal;
  min-width: 120px;
}

.jp-FormGroup-contentNormal fieldset:not(:first-child) {
  margin-left: 7px;
}

.jp-FormGroup-contentNormal .field-array-of-string .array-item {
  /* Display `jp-ArrayOperations` buttons side-by-side with content except
    for small screens where flex-wrap will place them one below the other.
  */
  display: flex;
  align-items: center;
  flex-wrap: wrap;
}

.jp-FormGroup-contentNormal .jp-objectFieldWrapper .form-group {
  padding: 2px 8px 2px var(--jp-private-settingeditor-modifier-indent);
  margin-top: 2px;
}

/* RJSF compact content (metadata-form) */

.jp-FormGroup-content.jp-FormGroup-contentCompact {
  width: 100%;
}

.jp-FormGroup-contentCompact .form-group {
  display: flex;
  padding: 0.5em 0.2em 0.5em 0;
}

.jp-FormGroup-contentCompact
  .jp-FormGroup-compactTitle
  .jp-FormGroup-description {
  font-size: var(--jp-ui-font-size1);
  color: var(--jp-ui-font-color2);
}

.jp-FormGroup-contentCompact .jp-FormGroup-fieldLabel {
  padding-bottom: 0.3em;
}

.jp-FormGroup-contentCompact .jp-inputFieldWrapper .form-control {
  width: 100%;
  box-sizing: border-box;
}

.jp-FormGroup-contentCompact .jp-arrayFieldWrapper .jp-FormGroup-compactTitle {
  padding-bottom: 7px;
}

.jp-FormGroup-contentCompact
  .jp-objectFieldWrapper
  .jp-objectFieldWrapper
  .form-group {
  padding: 2px 8px 2px var(--jp-private-settingeditor-modifier-indent);
  margin-top: 2px;
}

.jp-FormGroup-contentCompact ul.error-detail {
  margin-block-start: 0.5em;
  margin-block-end: 0.5em;
  padding-inline-start: 1em;
}

/*
 * Copyright (c) Jupyter Development Team.
 * Distributed under the terms of the Modified BSD License.
 */

.jp-SidePanel {
  display: flex;
  flex-direction: column;
  min-width: var(--jp-sidebar-min-width);
  overflow-y: auto;
  color: var(--jp-ui-font-color1);
  background: var(--jp-layout-color1);
  font-size: var(--jp-ui-font-size1);
}

.jp-SidePanel-header {
  flex: 0 0 auto;
  display: flex;
  border-bottom: var(--jp-border-width) solid var(--jp-border-color2);
  font-size: var(--jp-ui-font-size0);
  font-weight: 600;
  letter-spacing: 1px;
  margin: 0;
  padding: 2px;
  text-transform: uppercase;
}

.jp-SidePanel-toolbar {
  flex: 0 0 auto;
}

.jp-SidePanel-content {
  flex: 1 1 auto;
}

.jp-SidePanel-toolbar,
.jp-AccordionPanel-toolbar {
  height: var(--jp-private-toolbar-height);
}

.jp-SidePanel-toolbar.jp-Toolbar-micro {
  display: none;
}

.lm-AccordionPanel .jp-AccordionPanel-title {
  box-sizing: border-box;
  line-height: 25px;
  margin: 0;
  display: flex;
  align-items: center;
  background: var(--jp-layout-color1);
  color: var(--jp-ui-font-color1);
  border-bottom: var(--jp-border-width) solid var(--jp-toolbar-border-color);
  box-shadow: var(--jp-toolbar-box-shadow);
  font-size: var(--jp-ui-font-size0);
}

.jp-AccordionPanel-title {
  cursor: pointer;
  user-select: none;
  -moz-user-select: none;
  -webkit-user-select: none;
  text-transform: uppercase;
}

.lm-AccordionPanel[data-orientation='horizontal'] > .jp-AccordionPanel-title {
  /* Title is rotated for horizontal accordion panel using CSS */
  display: block;
  transform-origin: top left;
  transform: rotate(-90deg) translate(-100%);
}

.jp-AccordionPanel-title .lm-AccordionPanel-titleLabel {
  user-select: none;
  text-overflow: ellipsis;
  white-space: nowrap;
  overflow: hidden;
}

.jp-AccordionPanel-title .lm-AccordionPanel-titleCollapser {
  transform: rotate(-90deg);
  margin: auto 0;
  height: 16px;
}

.jp-AccordionPanel-title.lm-mod-expanded .lm-AccordionPanel-titleCollapser {
  transform: rotate(0deg);
}

.lm-AccordionPanel .jp-AccordionPanel-toolbar {
  background: none;
  box-shadow: none;
  border: none;
  margin-left: auto;
}

.lm-AccordionPanel .lm-SplitPanel-handle:hover {
  background: var(--jp-layout-color3);
}

.jp-text-truncated {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

/*-----------------------------------------------------------------------------
| Copyright (c) 2017, Jupyter Development Team.
|
| Distributed under the terms of the Modified BSD License.
|----------------------------------------------------------------------------*/

.jp-Spinner {
  position: absolute;
  display: flex;
  justify-content: center;
  align-items: center;
  z-index: 10;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background: var(--jp-layout-color0);
  outline: none;
}

.jp-SpinnerContent {
  font-size: 10px;
  margin: 50px auto;
  text-indent: -9999em;
  width: 3em;
  height: 3em;
  border-radius: 50%;
  background: var(--jp-brand-color3);
  background: linear-gradient(
    to right,
    #f37626 10%,
    rgba(255, 255, 255, 0) 42%
  );
  position: relative;
  animation: load3 1s infinite linear, fadeIn 1s;
}

.jp-SpinnerContent::before {
  width: 50%;
  height: 50%;
  background: #f37626;
  border-radius: 100% 0 0;
  position: absolute;
  top: 0;
  left: 0;
  content: '';
}

.jp-SpinnerContent::after {
  background: var(--jp-layout-color0);
  width: 75%;
  height: 75%;
  border-radius: 50%;
  content: '';
  margin: auto;
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
}

@keyframes fadeIn {
  0% {
    opacity: 0;
  }

  100% {
    opacity: 1;
  }
}

@keyframes load3 {
  0% {
    transform: rotate(0deg);
  }

  100% {
    transform: rotate(360deg);
  }
}

/*-----------------------------------------------------------------------------
| Copyright (c) 2014-2017, Jupyter Development Team.
|
| Distributed under the terms of the Modified BSD License.
|----------------------------------------------------------------------------*/

button.jp-mod-styled {
  font-size: var(--jp-ui-font-size1);
  color: var(--jp-ui-font-color0);
  border: none;
  box-sizing: border-box;
  text-align: center;
  line-height: 32px;
  height: 32px;
  padding: 0 12px;
  letter-spacing: 0.8px;
  outline: none;
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
}

input.jp-mod-styled {
  background: var(--jp-input-background);
  height: 28px;
  box-sizing: border-box;
  border: var(--jp-border-width) solid var(--jp-border-color1);
  padding-left: 7px;
  padding-right: 7px;
  font-size: var(--jp-ui-font-size2);
  color: var(--jp-ui-font-color0);
  outline: none;
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
}

input[type='checkbox'].jp-mod-styled {
  appearance: checkbox;
  -webkit-appearance: checkbox;
  -moz-appearance: checkbox;
  height: auto;
}

input.jp-mod-styled:focus {
  border: var(--jp-border-width) solid var(--md-blue-500);
  box-shadow: inset 0 0 4px var(--md-blue-300);
}

.jp-select-wrapper {
  display: flex;
  position: relative;
  flex-direction: column;
  padding: 1px;
  background-color: var(--jp-layout-color1);
  box-sizing: border-box;
  margin-bottom: 12px;
}

.jp-select-wrapper:not(.multiple) {
  height: 28px;
}

.jp-select-wrapper.jp-mod-focused select.jp-mod-styled {
  border: var(--jp-border-width) solid var(--jp-input-active-border-color);
  box-shadow: var(--jp-input-box-shadow);
  background-color: var(--jp-input-active-background);
}

select.jp-mod-styled:hover {
  cursor: pointer;
  color: var(--jp-ui-font-color0);
  background-color: var(--jp-input-hover-background);
  box-shadow: inset 0 0 1px rgba(0, 0, 0, 0.5);
}

select.jp-mod-styled {
  flex: 1 1 auto;
  width: 100%;
  font-size: var(--jp-ui-font-size2);
  background: var(--jp-input-background);
  color: var(--jp-ui-font-color0);
  padding: 0 25px 0 8px;
  border: var(--jp-border-width) solid var(--jp-input-border-color);
  border-radius: 0;
  outline: none;
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
}

select.jp-mod-styled:not([multiple]) {
  height: 32px;
}

select.jp-mod-styled[multiple] {
  max-height: 200px;
  overflow-y: auto;
}

/*-----------------------------------------------------------------------------
| Copyright (c) Jupyter Development Team.
| Distributed under the terms of the Modified BSD License.
|----------------------------------------------------------------------------*/

.jp-switch {
  display: flex;
  align-items: center;
  padding-left: 4px;
  padding-right: 4px;
  font-size: var(--jp-ui-font-size1);
  background-color: transparent;
  color: var(--jp-ui-font-color1);
  border: none;
  height: 20px;
}

.jp-switch:hover {
  background-color: var(--jp-layout-color2);
}

.jp-switch-label {
  margin-right: 5px;
  font-family: var(--jp-ui-font-family);
}

.jp-switch-track {
  cursor: pointer;
  background-color: var(--jp-switch-color, var(--jp-border-color1));
  -webkit-transition: 0.4s;
  transition: 0.4s;
  border-radius: 34px;
  height: 16px;
  width: 35px;
  position: relative;
}

.jp-switch-track::before {
  content: '';
  position: absolute;
  height: 10px;
  width: 10px;
  margin: 3px;
  left: 0;
  background-color: var(--jp-ui-inverse-font-color1);
  -webkit-transition: 0.4s;
  transition: 0.4s;
  border-radius: 50%;
}

.jp-switch[aria-checked='true'] .jp-switch-track {
  background-color: var(--jp-switch-true-position-color, var(--jp-warn-color0));
}

.jp-switch[aria-checked='true'] .jp-switch-track::before {
  /* track width (35) - margins (3 + 3) - thumb width (10) */
  left: 19px;
}

/*-----------------------------------------------------------------------------
| Copyright (c) 2014-2016, Jupyter Development Team.
|
| Distributed under the terms of the Modified BSD License.
|----------------------------------------------------------------------------*/

:root {
  --jp-private-toolbar-height: calc(
    28px + var(--jp-border-width)
  ); /* leave 28px for content */
}

.jp-Toolbar {
  color: var(--jp-ui-font-color1);
  flex: 0 0 auto;
  display: flex;
  flex-direction: row;
  border-bottom: var(--jp-border-width) solid var(--jp-toolbar-border-color);
  box-shadow: var(--jp-toolbar-box-shadow);
  background: var(--jp-toolbar-background);
  min-height: var(--jp-toolbar-micro-height);
  padding: 2px;
  z-index: 8;
  overflow-x: hidden;
}

/* Toolbar items */

.jp-Toolbar > .jp-Toolbar-item.jp-Toolbar-spacer {
  flex-grow: 1;
  flex-shrink: 1;
}

.jp-Toolbar-item.jp-Toolbar-kernelStatus {
  display: inline-block;
  width: 32px;
  background-repeat: no-repeat;
  background-position: center;
  background-size: 16px;
}

.jp-Toolbar > .jp-Toolbar-item {
  flex: 0 0 auto;
  display: flex;
  padding-left: 1px;
  padding-right: 1px;
  font-size: var(--jp-ui-font-size1);
  line-height: var(--jp-private-toolbar-height);
  height: 100%;
}

/* Toolbar buttons */

/* This is the div we use to wrap the react component into a Widget */
div.jp-ToolbarButton {
  color: transparent;
  border: none;
  box-sizing: border-box;
  outline: none;
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  padding: 0;
  margin: 0;
}

button.jp-ToolbarButtonComponent {
  background: var(--jp-layout-color1);
  border: none;
  box-sizing: border-box;
  outline: none;
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  padding: 0 6px;
  margin: 0;
  height: 24px;
  border-radius: var(--jp-border-radius);
  display: flex;
  align-items: center;
  text-align: center;
  font-size: 14px;
  min-width: unset;
  min-height: unset;
}

button.jp-ToolbarButtonComponent:disabled {
  opacity: 0.4;
}

button.jp-ToolbarButtonComponent > span {
  padding: 0;
  flex: 0 0 auto;
}

button.jp-ToolbarButtonComponent .jp-ToolbarButtonComponent-label {
  font-size: var(--jp-ui-font-size1);
  line-height: 100%;
  padding-left: 2px;
  color: var(--jp-ui-font-color1);
  font-family: var(--jp-ui-font-family);
}

#jp-main-dock-panel[data-mode='single-document']
  .jp-MainAreaWidget
  > .jp-Toolbar.jp-Toolbar-micro {
  padding: 0;
  min-height: 0;
}

#jp-main-dock-panel[data-mode='single-document']
  .jp-MainAreaWidget
  > .jp-Toolbar {
  border: none;
  box-shadow: none;
}

/*
 * Copyright (c) Jupyter Development Team.
 * Distributed under the terms of the Modified BSD License.
 */

.jp-WindowedPanel-outer {
  position: relative;
  overflow-y: auto;
}

.jp-WindowedPanel-inner {
  position: relative;
}

.jp-WindowedPanel-window {
  position: absolute;
  left: 0;
  right: 0;
  overflow: visible;
}

/*-----------------------------------------------------------------------------
| Copyright (c) Jupyter Development Team.
| Distributed under the terms of the Modified BSD License.
|----------------------------------------------------------------------------*/

/* Sibling imports */

body {
  color: var(--jp-ui-font-color1);
  font-size: var(--jp-ui-font-size1);
}

/* Disable native link decoration styles everywhere outside of dialog boxes */
a {
  text-decoration: unset;
  color: unset;
}

a:hover {
  text-decoration: unset;
  color: unset;
}

/* Accessibility for links inside dialog box text */
.jp-Dialog-content a {
  text-decoration: revert;
  color: var(--jp-content-link-color);
}

.jp-Dialog-content a:hover {
  text-decoration: revert;
}

/* Styles for ui-components */
.jp-Button {
  color: var(--jp-ui-font-color2);
  border-radius: var(--jp-border-radius);
  padding: 0 12px;
  font-size: var(--jp-ui-font-size1);

  /* Copy from blueprint 3 */
  display: inline-flex;
  flex-direction: row;
  border: none;
  cursor: pointer;
  align-items: center;
  justify-content: center;
  text-align: left;
  vertical-align: middle;
  min-height: 30px;
  min-width: 30px;
}

.jp-Button:disabled {
  cursor: not-allowed;
}

.jp-Button:empty {
  padding: 0 !important;
}

.jp-Button.jp-mod-small {
  min-height: 24px;
  min-width: 24px;
  font-size: 12px;
  padding: 0 7px;
}

/* Use our own theme for hover styles */
.jp-Button.jp-mod-minimal:hover {
  background-color: var(--jp-layout-color2);
}

.jp-Button.jp-mod-minimal {
  background: none;
}

.jp-InputGroup {
  display: block;
  position: relative;
}

.jp-InputGroup input {
  box-sizing: border-box;
  border: none;
  border-radius: 0;
  background-color: transparent;
  color: var(--jp-ui-font-color0);
  box-shadow: inset 0 0 0 var(--jp-border-width) var(--jp-input-border-color);
  padding-bottom: 0;
  padding-top: 0;
  padding-left: 10px;
  padding-right: 28px;
  position: relative;
  width: 100%;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  font-size: 14px;
  font-weight: 400;
  height: 30px;
  line-height: 30px;
  outline: none;
  vertical-align: middle;
}

.jp-InputGroup input:focus {
  box-shadow: inset 0 0 0 var(--jp-border-width)
      var(--jp-input-active-box-shadow-color),
    inset 0 0 0 3px var(--jp-input-active-box-shadow-color);
}

.jp-InputGroup input:disabled {
  cursor: not-allowed;
  resize: block;
  background-color: var(--jp-layout-color2);
  color: var(--jp-ui-font-color2);
}

.jp-InputGroup input:disabled ~ span {
  cursor: not-allowed;
  color: var(--jp-ui-font-color2);
}

.jp-InputGroup input::placeholder,
input::placeholder {
  color: var(--jp-ui-font-color2);
}

.jp-InputGroupAction {
  position: absolute;
  bottom: 1px;
  right: 0;
  padding: 6px;
}

.jp-HTMLSelect.jp-DefaultStyle select {
  background-color: initial;
  border: none;
  border-radius: 0;
  box-shadow: none;
  color: var(--jp-ui-font-color0);
  display: block;
  font-size: var(--jp-ui-font-size1);
  font-family: var(--jp-ui-font-family);
  height: 24px;
  line-height: 14px;
  padding: 0 25px 0 10px;
  text-align: left;
  -moz-appearance: none;
  -webkit-appearance: none;
}

.jp-HTMLSelect.jp-DefaultStyle select:disabled {
  background-color: var(--jp-layout-color2);
  color: var(--jp-ui-font-color2);
  cursor: not-allowed;
  resize: block;
}

.jp-HTMLSelect.jp-DefaultStyle select:disabled ~ span {
  cursor: not-allowed;
}

/* Use our own theme for hover and option styles */
/* stylelint-disable-next-line selector-max-type */
.jp-HTMLSelect.jp-DefaultStyle select:hover,
.jp-HTMLSelect.jp-DefaultStyle select > option {
  background-color: var(--jp-layout-color2);
  color: var(--jp-ui-font-color0);
}

select {
  box-sizing: border-box;
}

/*-----------------------------------------------------------------------------
| Copyright (c) Jupyter Development Team.
| Distributed under the terms of the Modified BSD License.
|----------------------------------------------------------------------------*/

/*-----------------------------------------------------------------------------
| Styles
|----------------------------------------------------------------------------*/

.jp-StatusBar-Widget {
  display: flex;
  align-items: center;
  background: var(--jp-layout-color2);
  min-height: var(--jp-statusbar-height);
  justify-content: space-between;
  padding: 0 10px;
}

.jp-StatusBar-Left {
  display: flex;
  align-items: center;
  flex-direction: row;
}

.jp-StatusBar-Middle {
  display: flex;
  align-items: center;
}

.jp-StatusBar-Right {
  display: flex;
  align-items: center;
  flex-direction: row-reverse;
}

.jp-StatusBar-Item {
  max-height: var(--jp-statusbar-height);
  margin: 0 2px;
  height: var(--jp-statusbar-height);
  white-space: nowrap;
  text-overflow: ellipsis;
  color: var(--jp-ui-font-color1);
  padding: 0 6px;
}

.jp-mod-highlighted:hover {
  background-color: var(--jp-layout-color3);
}

.jp-mod-clicked {
  background-color: var(--jp-brand-color1);
}

.jp-mod-clicked:hover {
  background-color: var(--jp-brand-color0);
}

.jp-mod-clicked .jp-StatusBar-TextItem {
  color: var(--jp-ui-inverse-font-color1);
}

.jp-StatusBar-HoverItem {
  box-shadow: '0px 4px 4px rgba(0, 0, 0, 0.25)';
}

.jp-StatusBar-TextItem {
  font-size: var(--jp-ui-font-size1);
  font-family: var(--jp-ui-font-family);
  line-height: 24px;
  color: var(--jp-ui-font-color1);
}

.jp-StatusBar-GroupItem {
  display: flex;
  align-items: center;
  flex-direction: row;
}

.jp-Statusbar-ProgressCircle svg {
  display: block;
  margin: 0 auto;
  width: 16px;
  height: 24px;
  align-self: normal;
}

.jp-Statusbar-ProgressCircle path {
  fill: var(--jp-inverse-layout-color3);
}

.jp-Statusbar-ProgressBar-progress-bar {
  height: 10px;
  width: 100px;
  border: solid 0.25px var(--jp-brand-color2);
  border-radius: 3px;
  overflow: hidden;
  align-self: center;
}

.jp-Statusbar-ProgressBar-progress-bar > div {
  background-color: var(--jp-brand-color2);
  background-image: linear-gradient(
    -45deg,
    rgba(255, 255, 255, 0.2) 25%,
    transparent 25%,
    transparent 50%,
    rgba(255, 255, 255, 0.2) 50%,
    rgba(255, 255, 255, 0.2) 75%,
    transparent 75%,
    transparent
  );
  background-size: 40px 40px;
  float: left;
  width: 0%;
  height: 100%;
  font-size: 12px;
  line-height: 14px;
  color: #fff;
  text-align: center;
  animation: jp-Statusbar-ExecutionTime-progress-bar 2s linear infinite;
}

.jp-Statusbar-ProgressBar-progress-bar p {
  color: var(--jp-ui-font-color1);
  font-family: var(--jp-ui-font-family);
  font-size: var(--jp-ui-font-size1);
  line-height: 10px;
  width: 100px;
}

@keyframes jp-Statusbar-ExecutionTime-progress-bar {
  0% {
    background-position: 0 0;
  }

  100% {
    background-position: 40px 40px;
  }
}

/*-----------------------------------------------------------------------------
| Copyright (c) Jupyter Development Team.
| Distributed under the terms of the Modified BSD License.
|----------------------------------------------------------------------------*/

/*-----------------------------------------------------------------------------
| Variables
|----------------------------------------------------------------------------*/

:root {
  --jp-private-commandpalette-search-height: 28px;
}

/*-----------------------------------------------------------------------------
| Overall styles
|----------------------------------------------------------------------------*/

.lm-CommandPalette {
  padding-bottom: 0;
  color: var(--jp-ui-font-color1);
  background: var(--jp-layout-color1);

  /* This is needed so that all font sizing of children done in ems is
   * relative to this base size */
  font-size: var(--jp-ui-font-size1);
}

/*-----------------------------------------------------------------------------
| Modal variant
|----------------------------------------------------------------------------*/

.jp-ModalCommandPalette {
  position: absolute;
  z-index: 10000;
  top: 38px;
  left: 30%;
  margin: 0;
  padding: 4px;
  width: 40%;
  box-shadow: var(--jp-elevation-z4);
  border-radius: 4px;
  background: var(--jp-layout-color0);
}

.jp-ModalCommandPalette .lm-CommandPalette {
  max-height: 40vh;
}

.jp-ModalCommandPalette .lm-CommandPalette .lm-close-icon::after {
  display: none;
}

.jp-ModalCommandPalette .lm-CommandPalette .lm-CommandPalette-header {
  display: none;
}

.jp-ModalCommandPalette .lm-CommandPalette .lm-CommandPalette-item {
  margin-left: 4px;
  margin-right: 4px;
}

.jp-ModalCommandPalette
  .lm-CommandPalette
  .lm-CommandPalette-item.lm-mod-disabled {
  display: none;
}

/*-----------------------------------------------------------------------------
| Search
|----------------------------------------------------------------------------*/

.lm-CommandPalette-search {
  padding: 4px;
  background-color: var(--jp-layout-color1);
  z-index: 2;
}

.lm-CommandPalette-wrapper {
  overflow: overlay;
  padding: 0 9px;
  background-color: var(--jp-input-active-background);
  height: 30px;
  box-shadow: inset 0 0 0 var(--jp-border-width) var(--jp-input-border-color);
}

.lm-CommandPalette.lm-mod-focused .lm-CommandPalette-wrapper {
  box-shadow: inset 0 0 0 1px var(--jp-input-active-box-shadow-color),
    inset 0 0 0 3px var(--jp-input-active-box-shadow-color);
}

.jp-SearchIconGroup {
  color: white;
  background-color: var(--jp-brand-color1);
  position: absolute;
  top: 4px;
  right: 4px;
  padding: 5px 5px 1px;
}

.jp-SearchIconGroup svg {
  height: 20px;
  width: 20px;
}

.jp-SearchIconGroup .jp-icon3[fill] {
  fill: var(--jp-layout-color0);
}

.lm-CommandPalette-input {
  background: transparent;
  width: calc(100% - 18px);
  float: left;
  border: none;
  outline: none;
  font-size: var(--jp-ui-font-size1);
  color: var(--jp-ui-font-color0);
  line-height: var(--jp-private-commandpalette-search-height);
}

.lm-CommandPalette-input::-webkit-input-placeholder,
.lm-CommandPalette-input::-moz-placeholder,
.lm-CommandPalette-input:-ms-input-placeholder {
  color: var(--jp-ui-font-color2);
  font-size: var(--jp-ui-font-size1);
}

/*-----------------------------------------------------------------------------
| Results
|----------------------------------------------------------------------------*/

.lm-CommandPalette-header:first-child {
  margin-top: 0;
}

.lm-CommandPalette-header {
  border-bottom: solid var(--jp-border-width) var(--jp-border-color2);
  color: var(--jp-ui-font-color1);
  cursor: pointer;
  display: flex;
  font-size: var(--jp-ui-font-size0);
  font-weight: 600;
  letter-spacing: 1px;
  margin-top: 8px;
  padding: 8px 0 8px 12px;
  text-transform: uppercase;
}

.lm-CommandPalette-header.lm-mod-active {
  background: var(--jp-layout-color2);
}

.lm-CommandPalette-header > mark {
  background-color: transparent;
  font-weight: bold;
  color: var(--jp-ui-font-color1);
}

.lm-CommandPalette-item {
  padding: 4px 12px 4px 4px;
  color: var(--jp-ui-font-color1);
  font-size: var(--jp-ui-font-size1);
  font-weight: 400;
  display: flex;
}

.lm-CommandPalette-item.lm-mod-disabled {
  color: var(--jp-ui-font-color2);
}

.lm-CommandPalette-item.lm-mod-active {
  color: var(--jp-ui-inverse-font-color1);
  background: var(--jp-brand-color1);
}

.lm-CommandPalette-item.lm-mod-active .lm-CommandPalette-itemLabel > mark {
  color: var(--jp-ui-inverse-font-color0);
}

.lm-CommandPalette-item.lm-mod-active .jp-icon-selectable[fill] {
  fill: var(--jp-layout-color0);
}

.lm-CommandPalette-item.lm-mod-active:hover:not(.lm-mod-disabled) {
  color: var(--jp-ui-inverse-font-color1);
  background: var(--jp-brand-color1);
}

.lm-CommandPalette-item:hover:not(.lm-mod-active):not(.lm-mod-disabled) {
  background: var(--jp-layout-color2);
}

.lm-CommandPalette-itemContent {
  overflow: hidden;
}

.lm-CommandPalette-itemLabel > mark {
  color: var(--jp-ui-font-color0);
  background-color: transparent;
  font-weight: bold;
}

.lm-CommandPalette-item.lm-mod-disabled mark {
  color: var(--jp-ui-font-color2);
}

.lm-CommandPalette-item .lm-CommandPalette-itemIcon {
  margin: 0 4px 0 0;
  position: relative;
  width: 16px;
  top: 2px;
  flex: 0 0 auto;
}

.lm-CommandPalette-item.lm-mod-disabled .lm-CommandPalette-itemIcon {
  opacity: 0.6;
}

.lm-CommandPalette-item .lm-CommandPalette-itemShortcut {
  flex: 0 0 auto;
}

.lm-CommandPalette-itemCaption {
  display: none;
}

.lm-CommandPalette-content {
  background-color: var(--jp-layout-color1);
}

.lm-CommandPalette-content:empty::after {
  content: 'No results';
  margin: auto;
  margin-top: 20px;
  width: 100px;
  display: block;
  font-size: var(--jp-ui-font-size2);
  font-family: var(--jp-ui-font-family);
  font-weight: lighter;
}

.lm-CommandPalette-emptyMessage {
  text-align: center;
  margin-top: 24px;
  line-height: 1.32;
  padding: 0 8px;
  color: var(--jp-content-font-color3);
}

/*-----------------------------------------------------------------------------
| Copyright (c) 2014-2017, Jupyter Development Team.
|
| Distributed under the terms of the Modified BSD License.
|----------------------------------------------------------------------------*/

.jp-Dialog {
  position: absolute;
  z-index: 10000;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  top: 0;
  left: 0;
  margin: 0;
  padding: 0;
  width: 100%;
  height: 100%;
  background: var(--jp-dialog-background);
}

.jp-Dialog-content {
  display: flex;
  flex-direction: column;
  margin-left: auto;
  margin-right: auto;
  background: var(--jp-layout-color1);
  padding: 24px 24px 12px;
  min-width: 300px;
  min-height: 150px;
  max-width: 1000px;
  max-height: 500px;
  box-sizing: border-box;
  box-shadow: var(--jp-elevation-z20);
  word-wrap: break-word;
  border-radius: var(--jp-border-radius);

  /* This is needed so that all font sizing of children done in ems is
   * relative to this base size */
  font-size: var(--jp-ui-font-size1);
  color: var(--jp-ui-font-color1);
  resize: both;
}

.jp-Dialog-content.jp-Dialog-content-small {
  max-width: 500px;
}

.jp-Dialog-button {
  overflow: visible;
}

button.jp-Dialog-button:focus {
  outline: 1px solid var(--jp-brand-color1);
  outline-offset: 4px;
  -moz-outline-radius: 0;
}

button.jp-Dialog-button:focus::-moz-focus-inner {
  border: 0;
}

button.jp-Dialog-button.jp-mod-styled.jp-mod-accept:focus,
button.jp-Dialog-button.jp-mod-styled.jp-mod-warn:focus,
button.jp-Dialog-button.jp-mod-styled.jp-mod-reject:focus {
  outline-offset: 4px;
  -moz-outline-radius: 0;
}

button.jp-Dialog-button.jp-mod-styled.jp-mod-accept:focus {
  outline: 1px solid var(--jp-accept-color-normal, var(--jp-brand-color1));
}

button.jp-Dialog-button.jp-mod-styled.jp-mod-warn:focus {
  outline: 1px solid var(--jp-warn-color-normal, var(--jp-error-color1));
}

button.jp-Dialog-button.jp-mod-styled.jp-mod-reject:focus {
  outline: 1px solid var(--jp-reject-color-normal, var(--md-grey-600));
}

button.jp-Dialog-close-button {
  padding: 0;
  height: 100%;
  min-width: unset;
  min-height: unset;
}

.jp-Dialog-header {
  display: flex;
  justify-content: space-between;
  flex: 0 0 auto;
  padding-bottom: 12px;
  font-size: var(--jp-ui-font-size3);
  font-weight: 400;
  color: var(--jp-ui-font-color1);
}

.jp-Dialog-body {
  display: flex;
  flex-direction: column;
  flex: 1 1 auto;
  font-size: var(--jp-ui-font-size1);
  background: var(--jp-layout-color1);
  color: var(--jp-ui-font-color1);
  overflow: auto;
}

.jp-Dialog-footer {
  display: flex;
  flex-direction: row;
  justify-content: flex-end;
  align-items: center;
  flex: 0 0 auto;
  margin-left: -12px;
  margin-right: -12px;
  padding: 12px;
}

.jp-Dialog-checkbox {
  padding-right: 5px;
}

.jp-Dialog-checkbox > input:focus-visible {
  outline: 1px solid var(--jp-input-active-border-color);
  outline-offset: 1px;
}

.jp-Dialog-spacer {
  flex: 1 1 auto;
}

.jp-Dialog-title {
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
}

.jp-Dialog-body > .jp-select-wrapper {
  width: 100%;
}

.jp-Dialog-body > button {
  padding: 0 16px;
}

.jp-Dialog-body > label {
  line-height: 1.4;
  color: var(--jp-ui-font-color0);
}

.jp-Dialog-button.jp-mod-styled:not(:last-child) {
  margin-right: 12px;
}

/*
 * Copyright (c) Jupyter Development Team.
 * Distributed under the terms of the Modified BSD License.
 */

.jp-Input-Boolean-Dialog {
  flex-direction: row-reverse;
  align-items: end;
  width: 100%;
}

.jp-Input-Boolean-Dialog > label {
  flex: 1 1 auto;
}

/*-----------------------------------------------------------------------------
| Copyright (c) 2014-2016, Jupyter Development Team.
|
| Distributed under the terms of the Modified BSD License.
|----------------------------------------------------------------------------*/

.jp-MainAreaWidget > :focus {
  outline: none;
}

.jp-MainAreaWidget .jp-MainAreaWidget-error {
  padding: 6px;
}

.jp-MainAreaWidget .jp-MainAreaWidget-error > pre {
  width: auto;
  padding: 10px;
  background: var(--jp-error-color3);
  border: var(--jp-border-width) solid var(--jp-error-color1);
  border-radius: var(--jp-border-radius);
  color: var(--jp-ui-font-color1);
  font-size: var(--jp-ui-font-size1);
  white-space: pre-wrap;
  word-wrap: break-word;
}

/*
 * Copyright (c) Jupyter Development Team.
 * Distributed under the terms of the Modified BSD License.
 */

/**
 * google-material-color v1.2.6
 * https://github.com/danlevan/google-material-color
 */
:root {
  --md-red-50: #ffebee;
  --md-red-100: #ffcdd2;
  --md-red-200: #ef9a9a;
  --md-red-300: #e57373;
  --md-red-400: #ef5350;
  --md-red-500: #f44336;
  --md-red-600: #e53935;
  --md-red-700: #d32f2f;
  --md-red-800: #c62828;
  --md-red-900: #b71c1c;
  --md-red-A100: #ff8a80;
  --md-red-A200: #ff5252;
  --md-red-A400: #ff1744;
  --md-red-A700: #d50000;
  --md-pink-50: #fce4ec;
  --md-pink-100: #f8bbd0;
  --md-pink-200: #f48fb1;
  --md-pink-300: #f06292;
  --md-pink-400: #ec407a;
  --md-pink-500: #e91e63;
  --md-pink-600: #d81b60;
  --md-pink-700: #c2185b;
  --md-pink-800: #ad1457;
  --md-pink-900: #880e4f;
  --md-pink-A100: #ff80ab;
  --md-pink-A200: #ff4081;
  --md-pink-A400: #f50057;
  --md-pink-A700: #c51162;
  --md-purple-50: #f3e5f5;
  --md-purple-100: #e1bee7;
  --md-purple-200: #ce93d8;
  --md-purple-300: #ba68c8;
  --md-purple-400: #ab47bc;
  --md-purple-500: #9c27b0;
  --md-purple-600: #8e24aa;
  --md-purple-700: #7b1fa2;
  --md-purple-800: #6a1b9a;
  --md-purple-900: #4a148c;
  --md-purple-A100: #ea80fc;
  --md-purple-A200: #e040fb;
  --md-purple-A400: #d500f9;
  --md-purple-A700: #a0f;
  --md-deep-purple-50: #ede7f6;
  --md-deep-purple-100: #d1c4e9;
  --md-deep-purple-200: #b39ddb;
  --md-deep-purple-300: #9575cd;
  --md-deep-purple-400: #7e57c2;
  --md-deep-purple-500: #673ab7;
  --md-deep-purple-600: #5e35b1;
  --md-deep-purple-700: #512da8;
  --md-deep-purple-800: #4527a0;
  --md-deep-purple-900: #311b92;
  --md-deep-purple-A100: #b388ff;
  --md-deep-purple-A200: #7c4dff;
  --md-deep-purple-A400: #651fff;
  --md-deep-purple-A700: #6200ea;
  --md-indigo-50: #e8eaf6;
  --md-indigo-100: #c5cae9;
  --md-indigo-200: #9fa8da;
  --md-indigo-300: #7986cb;
  --md-indigo-400: #5c6bc0;
  --md-indigo-500: #3f51b5;
  --md-indigo-600: #3949ab;
  --md-indigo-700: #303f9f;
  --md-indigo-800: #283593;
  --md-indigo-900: #1a237e;
  --md-indigo-A100: #8c9eff;
  --md-indigo-A200: #536dfe;
  --md-indigo-A400: #3d5afe;
  --md-indigo-A700: #304ffe;
  --md-blue-50: #e3f2fd;
  --md-blue-100: #bbdefb;
  --md-blue-200: #90caf9;
  --md-blue-300: #64b5f6;
  --md-blue-400: #42a5f5;
  --md-blue-500: #2196f3;
  --md-blue-600: #1e88e5;
  --md-blue-700: #1976d2;
  --md-blue-800: #1565c0;
  --md-blue-900: #0d47a1;
  --md-blue-A100: #82b1ff;
  --md-blue-A200: #448aff;
  --md-blue-A400: #2979ff;
  --md-blue-A700: #2962ff;
  --md-light-blue-50: #e1f5fe;
  --md-light-blue-100: #b3e5fc;
  --md-light-blue-200: #81d4fa;
  --md-light-blue-300: #4fc3f7;
  --md-light-blue-400: #29b6f6;
  --md-light-blue-500: #03a9f4;
  --md-light-blue-600: #039be5;
  --md-light-blue-700: #0288d1;
  --md-light-blue-800: #0277bd;
  --md-light-blue-900: #01579b;
  --md-light-blue-A100: #80d8ff;
  --md-light-blue-A200: #40c4ff;
  --md-light-blue-A400: #00b0ff;
  --md-light-blue-A700: #0091ea;
  --md-cyan-50: #e0f7fa;
  --md-cyan-100: #b2ebf2;
  --md-cyan-200: #80deea;
  --md-cyan-300: #4dd0e1;
  --md-cyan-400: #26c6da;
  --md-cyan-500: #00bcd4;
  --md-cyan-600: #00acc1;
  --md-cyan-700: #0097a7;
  --md-cyan-800: #00838f;
  --md-cyan-900: #006064;
  --md-cyan-A100: #84ffff;
  --md-cyan-A200: #18ffff;
  --md-cyan-A400: #00e5ff;
  --md-cyan-A700: #00b8d4;
  --md-teal-50: #e0f2f1;
  --md-teal-100: #b2dfdb;
  --md-teal-200: #80cbc4;
  --md-teal-300: #4db6ac;
  --md-teal-400: #26a69a;
  --md-teal-500: #009688;
  --md-teal-600: #00897b;
  --md-teal-700: #00796b;
  --md-teal-800: #00695c;
  --md-teal-900: #004d40;
  --md-teal-A100: #a7ffeb;
  --md-teal-A200: #64ffda;
  --md-teal-A400: #1de9b6;
  --md-teal-A700: #00bfa5;
  --md-green-50: #e8f5e9;
  --md-green-100: #c8e6c9;
  --md-green-200: #a5d6a7;
  --md-green-300: #81c784;
  --md-green-400: #66bb6a;
  --md-green-500: #4caf50;
  --md-green-600: #43a047;
  --md-green-700: #388e3c;
  --md-green-800: #2e7d32;
  --md-green-900: #1b5e20;
  --md-green-A100: #b9f6ca;
  --md-green-A200: #69f0ae;
  --md-green-A400: #00e676;
  --md-green-A700: #00c853;
  --md-light-green-50: #f1f8e9;
  --md-light-green-100: #dcedc8;
  --md-light-green-200: #c5e1a5;
  --md-light-green-300: #aed581;
  --md-light-green-400: #9ccc65;
  --md-light-green-500: #8bc34a;
  --md-light-green-600: #7cb342;
  --md-light-green-700: #689f38;
  --md-light-green-800: #558b2f;
  --md-light-green-900: #33691e;
  --md-light-green-A100: #ccff90;
  --md-light-green-A200: #b2ff59;
  --md-light-green-A400: #76ff03;
  --md-light-green-A700: #64dd17;
  --md-lime-50: #f9fbe7;
  --md-lime-100: #f0f4c3;
  --md-lime-200: #e6ee9c;
  --md-lime-300: #dce775;
  --md-lime-400: #d4e157;
  --md-lime-500: #cddc39;
  --md-lime-600: #c0ca33;
  --md-lime-700: #afb42b;
  --md-lime-800: #9e9d24;
  --md-lime-900: #827717;
  --md-lime-A100: #f4ff81;
  --md-lime-A200: #eeff41;
  --md-lime-A400: #c6ff00;
  --md-lime-A700: #aeea00;
  --md-yellow-50: #fffde7;
  --md-yellow-100: #fff9c4;
  --md-yellow-200: #fff59d;
  --md-yellow-300: #fff176;
  --md-yellow-400: #ffee58;
  --md-yellow-500: #ffeb3b;
  --md-yellow-600: #fdd835;
  --md-yellow-700: #fbc02d;
  --md-yellow-800: #f9a825;
  --md-yellow-900: #f57f17;
  --md-yellow-A100: #ffff8d;
  --md-yellow-A200: #ff0;
  --md-yellow-A400: #ffea00;
  --md-yellow-A700: #ffd600;
  --md-amber-50: #fff8e1;
  --md-amber-100: #ffecb3;
  --md-amber-200: #ffe082;
  --md-amber-300: #ffd54f;
  --md-amber-400: #ffca28;
  --md-amber-500: #ffc107;
  --md-amber-600: #ffb300;
  --md-amber-700: #ffa000;
  --md-amber-800: #ff8f00;
  --md-amber-900: #ff6f00;
  --md-amber-A100: #ffe57f;
  --md-amber-A200: #ffd740;
  --md-amber-A400: #ffc400;
  --md-amber-A700: #ffab00;
  --md-orange-50: #fff3e0;
  --md-orange-100: #ffe0b2;
  --md-orange-200: #ffcc80;
  --md-orange-300: #ffb74d;
  --md-orange-400: #ffa726;
  --md-orange-500: #ff9800;
  --md-orange-600: #fb8c00;
  --md-orange-700: #f57c00;
  --md-orange-800: #ef6c00;
  --md-orange-900: #e65100;
  --md-orange-A100: #ffd180;
  --md-orange-A200: #ffab40;
  --md-orange-A400: #ff9100;
  --md-orange-A700: #ff6d00;
  --md-deep-orange-50: #fbe9e7;
  --md-deep-orange-100: #ffccbc;
  --md-deep-orange-200: #ffab91;
  --md-deep-orange-300: #ff8a65;
  --md-deep-orange-400: #ff7043;
  --md-deep-orange-500: #ff5722;
  --md-deep-orange-600: #f4511e;
  --md-deep-orange-700: #e64a19;
  --md-deep-orange-800: #d84315;
  --md-deep-orange-900: #bf360c;
  --md-deep-orange-A100: #ff9e80;
  --md-deep-orange-A200: #ff6e40;
  --md-deep-orange-A400: #ff3d00;
  --md-deep-orange-A700: #dd2c00;
  --md-brown-50: #efebe9;
  --md-brown-100: #d7ccc8;
  --md-brown-200: #bcaaa4;
  --md-brown-300: #a1887f;
  --md-brown-400: #8d6e63;
  --md-brown-500: #795548;
  --md-brown-600: #6d4c41;
  --md-brown-700: #5d4037;
  --md-brown-800: #4e342e;
  --md-brown-900: #3e2723;
  --md-grey-50: #fafafa;
  --md-grey-100: #f5f5f5;
  --md-grey-200: #eee;
  --md-grey-300: #e0e0e0;
  --md-grey-400: #bdbdbd;
  --md-grey-500: #9e9e9e;
  --md-grey-600: #757575;
  --md-grey-700: #616161;
  --md-grey-800: #424242;
  --md-grey-900: #212121;
  --md-blue-grey-50: #eceff1;
  --md-blue-grey-100: #cfd8dc;
  --md-blue-grey-200: #b0bec5;
  --md-blue-grey-300: #90a4ae;
  --md-blue-grey-400: #78909c;
  --md-blue-grey-500: #607d8b;
  --md-blue-grey-600: #546e7a;
  --md-blue-grey-700: #455a64;
  --md-blue-grey-800: #37474f;
  --md-blue-grey-900: #263238;
}

/*-----------------------------------------------------------------------------
| Copyright (c) 2014-2017, Jupyter Development Team.
|
| Distributed under the terms of the Modified BSD License.
|----------------------------------------------------------------------------*/

/*-----------------------------------------------------------------------------
| Copyright (c) Jupyter Development Team.
| Distributed under the terms of the Modified BSD License.
|----------------------------------------------------------------------------*/

/*-----------------------------------------------------------------------------
| RenderedText
|----------------------------------------------------------------------------*/

:root {
  /* This is the padding value to fill the gaps between lines containing spans with background color. */
  --jp-private-code-span-padding: calc(
    (var(--jp-code-line-height) - 1) * var(--jp-code-font-size) / 2
  );
}

.jp-RenderedText {
  text-align: left;
  padding-left: var(--jp-code-padding);
  line-height: var(--jp-code-line-height);
  font-family: var(--jp-code-font-family);
}

.jp-RenderedText pre,
.jp-RenderedJavaScript pre,
.jp-RenderedHTMLCommon pre {
  color: var(--jp-content-font-color1);
  font-size: var(--jp-code-font-size);
  border: none;
  margin: 0;
  padding: 0;
}

.jp-RenderedText pre a:link {
  text-decoration: none;
  color: var(--jp-content-link-color);
}

.jp-RenderedText pre a:hover {
  text-decoration: underline;
  color: var(--jp-content-link-color);
}

.jp-RenderedText pre a:visited {
  text-decoration: none;
  color: var(--jp-content-link-color);
}

/* console foregrounds and backgrounds */
.jp-RenderedText pre .ansi-black-fg {
  color: #3e424d;
}

.jp-RenderedText pre .ansi-red-fg {
  color: #e75c58;
}

.jp-RenderedText pre .ansi-green-fg {
  color: #00a250;
}

.jp-RenderedText pre .ansi-yellow-fg {
  color: #ddb62b;
}

.jp-RenderedText pre .ansi-blue-fg {
  color: #208ffb;
}

.jp-RenderedText pre .ansi-magenta-fg {
  color: #d160c4;
}

.jp-RenderedText pre .ansi-cyan-fg {
  color: #60c6c8;
}

.jp-RenderedText pre .ansi-white-fg {
  color: #c5c1b4;
}

.jp-RenderedText pre .ansi-black-bg {
  background-color: #3e424d;
  padding: var(--jp-private-code-span-padding) 0;
}

.jp-RenderedText pre .ansi-red-bg {
  background-color: #e75c58;
  padding: var(--jp-private-code-span-padding) 0;
}

.jp-RenderedText pre .ansi-green-bg {
  background-color: #00a250;
  padding: var(--jp-private-code-span-padding) 0;
}

.jp-RenderedText pre .ansi-yellow-bg {
  background-color: #ddb62b;
  padding: var(--jp-private-code-span-padding) 0;
}

.jp-RenderedText pre .ansi-blue-bg {
  background-color: #208ffb;
  padding: var(--jp-private-code-span-padding) 0;
}

.jp-RenderedText pre .ansi-magenta-bg {
  background-color: #d160c4;
  padding: var(--jp-private-code-span-padding) 0;
}

.jp-RenderedText pre .ansi-cyan-bg {
  background-color: #60c6c8;
  padding: var(--jp-private-code-span-padding) 0;
}

.jp-RenderedText pre .ansi-white-bg {
  background-color: #c5c1b4;
  padding: var(--jp-private-code-span-padding) 0;
}

.jp-RenderedText pre .ansi-black-intense-fg {
  color: #282c36;
}

.jp-RenderedText pre .ansi-red-intense-fg {
  color: #b22b31;
}

.jp-RenderedText pre .ansi-green-intense-fg {
  color: #007427;
}

.jp-RenderedText pre .ansi-yellow-intense-fg {
  color: #b27d12;
}

.jp-RenderedText pre .ansi-blue-intense-fg {
  color: #0065ca;
}

.jp-RenderedText pre .ansi-magenta-intense-fg {
  color: #a03196;
}

.jp-RenderedText pre .ansi-cyan-intense-fg {
  color: #258f8f;
}

.jp-RenderedText pre .ansi-white-intense-fg {
  color: #a1a6b2;
}

.jp-RenderedText pre .ansi-black-intense-bg {
  background-color: #282c36;
  padding: var(--jp-private-code-span-padding) 0;
}

.jp-RenderedText pre .ansi-red-intense-bg {
  background-color: #b22b31;
  padding: var(--jp-private-code-span-padding) 0;
}

.jp-RenderedText pre .ansi-green-intense-bg {
  background-color: #007427;
  padding: var(--jp-private-code-span-padding) 0;
}

.jp-RenderedText pre .ansi-yellow-intense-bg {
  background-color: #b27d12;
  padding: var(--jp-private-code-span-padding) 0;
}

.jp-RenderedText pre .ansi-blue-intense-bg {
  background-color: #0065ca;
  padding: var(--jp-private-code-span-padding) 0;
}

.jp-RenderedText pre .ansi-magenta-intense-bg {
  background-color: #a03196;
  padding: var(--jp-private-code-span-padding) 0;
}

.jp-RenderedText pre .ansi-cyan-intense-bg {
  background-color: #258f8f;
  padding: var(--jp-private-code-span-padding) 0;
}

.jp-RenderedText pre .ansi-white-intense-bg {
  background-color: #a1a6b2;
  padding: var(--jp-private-code-span-padding) 0;
}

.jp-RenderedText pre .ansi-default-inverse-fg {
  color: var(--jp-ui-inverse-font-color0);
}

.jp-RenderedText pre .ansi-default-inverse-bg {
  background-color: var(--jp-inverse-layout-color0);
  padding: var(--jp-private-code-span-padding) 0;
}

.jp-RenderedText pre .ansi-bold {
  font-weight: bold;
}

.jp-RenderedText pre .ansi-underline {
  text-decoration: underline;
}

.jp-RenderedText[data-mime-type='application/vnd.jupyter.stderr'] {
  background: var(--jp-rendermime-error-background);
  padding-top: var(--jp-code-padding);
}

/*-----------------------------------------------------------------------------
| RenderedLatex
|----------------------------------------------------------------------------*/

.jp-RenderedLatex {
  color: var(--jp-content-font-color1);
  font-size: var(--jp-content-font-size1);
  line-height: var(--jp-content-line-height);
}

/* Left-justify outputs.*/
.jp-OutputArea-output.jp-RenderedLatex {
  padding: var(--jp-code-padding);
  text-align: left;
}

/*-----------------------------------------------------------------------------
| RenderedHTML
|----------------------------------------------------------------------------*/

.jp-RenderedHTMLCommon {
  color: var(--jp-content-font-color1);
  font-family: var(--jp-content-font-family);
  font-size: var(--jp-content-font-size1);
  line-height: var(--jp-content-line-height);

  /* Give a bit more R padding on Markdown text to keep line lengths reasonable */
  padding-right: 20px;
}

.jp-RenderedHTMLCommon em {
  font-style: italic;
}

.jp-RenderedHTMLCommon strong {
  font-weight: bold;
}

.jp-RenderedHTMLCommon u {
  text-decoration: underline;
}

.jp-RenderedHTMLCommon a:link {
  text-decoration: none;
  color: var(--jp-content-link-color);
}

.jp-RenderedHTMLCommon a:hover {
  text-decoration: underline;
  color: var(--jp-content-link-color);
}

.jp-RenderedHTMLCommon a:visited {
  text-decoration: none;
  color: var(--jp-content-link-color);
}

/* Headings */

.jp-RenderedHTMLCommon h1,
.jp-RenderedHTMLCommon h2,
.jp-RenderedHTMLCommon h3,
.jp-RenderedHTMLCommon h4,
.jp-RenderedHTMLCommon h5,
.jp-RenderedHTMLCommon h6 {
  line-height: var(--jp-content-heading-line-height);
  font-weight: var(--jp-content-heading-font-weight);
  font-style: normal;
  margin: var(--jp-content-heading-margin-top) 0
    var(--jp-content-heading-margin-bottom) 0;
}

.jp-RenderedHTMLCommon h1:first-child,
.jp-RenderedHTMLCommon h2:first-child,
.jp-RenderedHTMLCommon h3:first-child,
.jp-RenderedHTMLCommon h4:first-child,
.jp-RenderedHTMLCommon h5:first-child,
.jp-RenderedHTMLCommon h6:first-child {
  margin-top: calc(0.5 * var(--jp-content-heading-margin-top));
}

.jp-RenderedHTMLCommon h1:last-child,
.jp-RenderedHTMLCommon h2:last-child,
.jp-RenderedHTMLCommon h3:last-child,
.jp-RenderedHTMLCommon h4:last-child,
.jp-RenderedHTMLCommon h5:last-child,
.jp-RenderedHTMLCommon h6:last-child {
  margin-bottom: calc(0.5 * var(--jp-content-heading-margin-bottom));
}

.jp-RenderedHTMLCommon h1 {
  font-size: var(--jp-content-font-size5);
}

.jp-RenderedHTMLCommon h2 {
  font-size: var(--jp-content-font-size4);
}

.jp-RenderedHTMLCommon h3 {
  font-size: var(--jp-content-font-size3);
}

.jp-RenderedHTMLCommon h4 {
  font-size: var(--jp-content-font-size2);
}

.jp-RenderedHTMLCommon h5 {
  font-size: var(--jp-content-font-size1);
}

.jp-RenderedHTMLCommon h6 {
  font-size: var(--jp-content-font-size0);
}

/* Lists */

/* stylelint-disable selector-max-type, selector-max-compound-selectors */

.jp-RenderedHTMLCommon ul:not(.list-inline),
.jp-RenderedHTMLCommon ol:not(.list-inline) {
  padding-left: 2em;
}

.jp-RenderedHTMLCommon ul {
  list-style: disc;
}

.jp-RenderedHTMLCommon ul ul {
  list-style: square;
}

.jp-RenderedHTMLCommon ul ul ul {
  list-style: circle;
}

.jp-RenderedHTMLCommon ol {
  list-style: decimal;
}

.jp-RenderedHTMLCommon ol ol {
  list-style: upper-alpha;
}

.jp-RenderedHTMLCommon ol ol ol {
  list-style: lower-alpha;
}

.jp-RenderedHTMLCommon ol ol ol ol {
  list-style: lower-roman;
}

.jp-RenderedHTMLCommon ol ol ol ol ol {
  list-style: decimal;
}

.jp-RenderedHTMLCommon ol,
.jp-RenderedHTMLCommon ul {
  margin-bottom: 1em;
}

.jp-RenderedHTMLCommon ul ul,
.jp-RenderedHTMLCommon ul ol,
.jp-RenderedHTMLCommon ol ul,
.jp-RenderedHTMLCommon ol ol {
  margin-bottom: 0;
}

/* stylelint-enable selector-max-type, selector-max-compound-selectors */

.jp-RenderedHTMLCommon hr {
  color: var(--jp-border-color2);
  background-color: var(--jp-border-color1);
  margin-top: 1em;
  margin-bottom: 1em;
}

.jp-RenderedHTMLCommon > pre {
  margin: 1.5em 2em;
}

.jp-RenderedHTMLCommon pre,
.jp-RenderedHTMLCommon code {
  border: 0;
  background-color: var(--jp-layout-color0);
  color: var(--jp-content-font-color1);
  font-family: var(--jp-code-font-family);
  font-size: inherit;
  line-height: var(--jp-code-line-height);
  padding: 0;
  white-space: pre-wrap;
}

.jp-RenderedHTMLCommon :not(pre) > code {
  background-color: var(--jp-layout-color2);
  padding: 1px 5px;
}

/* Tables */

.jp-RenderedHTMLCommon table {
  border-collapse: collapse;
  border-spacing: 0;
  border: none;
  color: var(--jp-ui-font-color1);
  font-size: var(--jp-ui-font-size1);
  table-layout: fixed;
  margin-left: auto;
  margin-bottom: 1em;
  margin-right: auto;
}

.jp-RenderedHTMLCommon thead {
  border-bottom: var(--jp-border-width) solid var(--jp-border-color1);
  vertical-align: bottom;
}

.jp-RenderedHTMLCommon td,
.jp-RenderedHTMLCommon th,
.jp-RenderedHTMLCommon tr {
  vertical-align: middle;
  padding: 0.5em;
  line-height: normal;
  white-space: normal;
  max-width: none;
  border: none;
}

.jp-RenderedMarkdown.jp-RenderedHTMLCommon td,
.jp-RenderedMarkdown.jp-RenderedHTMLCommon th {
  max-width: none;
}

:not(.jp-RenderedMarkdown).jp-RenderedHTMLCommon td,
:not(.jp-RenderedMarkdown).jp-RenderedHTMLCommon th,
:not(.jp-RenderedMarkdown).jp-RenderedHTMLCommon tr {
  text-align: right;
}

.jp-RenderedHTMLCommon th {
  font-weight: bold;
}

.jp-RenderedHTMLCommon tbody tr:nth-child(odd) {
  background: var(--jp-layout-color0);
}

.jp-RenderedHTMLCommon tbody tr:nth-child(even) {
  background: var(--jp-rendermime-table-row-background);
}

.jp-RenderedHTMLCommon tbody tr:hover {
  background: var(--jp-rendermime-table-row-hover-background);
}

.jp-RenderedHTMLCommon p {
  text-align: left;
  margin: 0;
  margin-bottom: 1em;
}

.jp-RenderedHTMLCommon img {
  -moz-force-broken-image-icon: 1;
}

/* Restrict to direct children as other images could be nested in other content. */
.jp-RenderedHTMLCommon > img {
  display: block;
  margin-left: 0;
  margin-right: 0;
  margin-bottom: 1em;
}

/* Change color behind transparent images if they need it... */
[data-jp-theme-light='false'] .jp-RenderedImage img.jp-needs-light-background {
  background-color: var(--jp-inverse-layout-color1);
}

[data-jp-theme-light='true'] .jp-RenderedImage img.jp-needs-dark-background {
  background-color: var(--jp-inverse-layout-color1);
}

.jp-RenderedHTMLCommon img,
.jp-RenderedImage img,
.jp-RenderedHTMLCommon svg,
.jp-RenderedSVG svg {
  max-width: 100%;
  height: auto;
}

.jp-RenderedHTMLCommon img.jp-mod-unconfined,
.jp-RenderedImage img.jp-mod-unconfined,
.jp-RenderedHTMLCommon svg.jp-mod-unconfined,
.jp-RenderedSVG svg.jp-mod-unconfined {
  max-width: none;
}

.jp-RenderedHTMLCommon .alert {
  padding: var(--jp-notebook-padding);
  border: var(--jp-border-width) solid transparent;
  border-radius: var(--jp-border-radius);
  margin-bottom: 1em;
}

.jp-RenderedHTMLCommon .alert-info {
  color: var(--jp-info-color0);
  background-color: var(--jp-info-color3);
  border-color: var(--jp-info-color2);
}

.jp-RenderedHTMLCommon .alert-info hr {
  border-color: var(--jp-info-color3);
}

.jp-RenderedHTMLCommon .alert-info > p:last-child,
.jp-RenderedHTMLCommon .alert-info > ul:last-child {
  margin-bottom: 0;
}

.jp-RenderedHTMLCommon .alert-warning {
  color: var(--jp-warn-color0);
  background-color: var(--jp-warn-color3);
  border-color: var(--jp-warn-color2);
}

.jp-RenderedHTMLCommon .alert-warning hr {
  border-color: var(--jp-warn-color3);
}

.jp-RenderedHTMLCommon .alert-warning > p:last-child,
.jp-RenderedHTMLCommon .alert-warning > ul:last-child {
  margin-bottom: 0;
}

.jp-RenderedHTMLCommon .alert-success {
  color: var(--jp-success-color0);
  background-color: var(--jp-success-color3);
  border-color: var(--jp-success-color2);
}

.jp-RenderedHTMLCommon .alert-success hr {
  border-color: var(--jp-success-color3);
}

.jp-RenderedHTMLCommon .alert-success > p:last-child,
.jp-RenderedHTMLCommon .alert-success > ul:last-child {
  margin-bottom: 0;
}

.jp-RenderedHTMLCommon .alert-danger {
  color: var(--jp-error-color0);
  background-color: var(--jp-error-color3);
  border-color: var(--jp-error-color2);
}

.jp-RenderedHTMLCommon .alert-danger hr {
  border-color: var(--jp-error-color3);
}

.jp-RenderedHTMLCommon .alert-danger > p:last-child,
.jp-RenderedHTMLCommon .alert-danger > ul:last-child {
  margin-bottom: 0;
}

.jp-RenderedHTMLCommon blockquote {
  margin: 1em 2em;
  padding: 0 1em;
  border-left: 5px solid var(--jp-border-color2);
}

a.jp-InternalAnchorLink {
  visibility: hidden;
  margin-left: 8px;
  color: var(--md-blue-800);
}

h1:hover .jp-InternalAnchorLink,
h2:hover .jp-InternalAnchorLink,
h3:hover .jp-InternalAnchorLink,
h4:hover .jp-InternalAnchorLink,
h5:hover .jp-InternalAnchorLink,
h6:hover .jp-InternalAnchorLink {
  visibility: visible;
}

.jp-RenderedHTMLCommon kbd {
  background-color: var(--jp-rendermime-table-row-background);
  border: 1px solid var(--jp-border-color0);
  border-bottom-color: var(--jp-border-color2);
  border-radius: 3px;
  box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.25);
  display: inline-block;
  font-size: var(--jp-ui-font-size0);
  line-height: 1em;
  padding: 0.2em 0.5em;
}

/* Most direct children of .jp-RenderedHTMLCommon have a margin-bottom of 1.0.
 * At the bottom of cells this is a bit too much as there is also spacing
 * between cells. Going all the way to 0 gets too tight between markdown and
 * code cells.
 */
.jp-RenderedHTMLCommon > *:last-child {
  margin-bottom: 0.5em;
}

/*
 * Copyright (c) Jupyter Development Team.
 * Distributed under the terms of the Modified BSD License.
 */

/*-----------------------------------------------------------------------------
| Copyright (c) Jupyter Development Team.
| Copyright (c) 2014-2017, PhosphorJS Contributors
|
| Distributed under the terms of the BSD 3-Clause License.
|
| The full license is in the file LICENSE, distributed with this software.
|----------------------------------------------------------------------------*/

.lm-cursor-backdrop {
  position: fixed;
  width: 200px;
  height: 200px;
  margin-top: -100px;
  margin-left: -100px;
  will-change: transform;
  z-index: 100;
}

.lm-mod-drag-image {
  will-change: transform;
}

/*
 * Copyright (c) Jupyter Development Team.
 * Distributed under the terms of the Modified BSD License.
 */

.jp-lineFormSearch {
  padding: 4px 12px;
  background-color: var(--jp-layout-color2);
  box-shadow: var(--jp-toolbar-box-shadow);
  z-index: 2;
  font-size: var(--jp-ui-font-size1);
}

.jp-lineFormCaption {
  font-size: var(--jp-ui-font-size0);
  line-height: var(--jp-ui-font-size1);
  margin-top: 4px;
  color: var(--jp-ui-font-color0);
}

.jp-baseLineForm {
  border: none;
  border-radius: 0;
  position: absolute;
  background-size: 16px;
  background-repeat: no-repeat;
  background-position: center;
  outline: none;
}

.jp-lineFormButtonContainer {
  top: 4px;
  right: 8px;
  height: 24px;
  padding: 0 12px;
  width: 12px;
}

.jp-lineFormButtonIcon {
  top: 0;
  right: 0;
  background-color: var(--jp-brand-color1);
  height: 100%;
  width: 100%;
  box-sizing: border-box;
  padding: 4px 6px;
}

.jp-lineFormButton {
  top: 0;
  right: 0;
  background-color: transparent;
  height: 100%;
  width: 100%;
  box-sizing: border-box;
}

.jp-lineFormWrapper {
  overflow: hidden;
  padding: 0 8px;
  border: 1px solid var(--jp-border-color0);
  background-color: var(--jp-input-active-background);
  height: 22px;
}

.jp-lineFormWrapperFocusWithin {
  border: var(--jp-border-width) solid var(--md-blue-500);
  box-shadow: inset 0 0 4px var(--md-blue-300);
}

.jp-lineFormInput {
  background: transparent;
  width: 200px;
  height: 100%;
  border: none;
  outline: none;
  color: var(--jp-ui-font-color0);
  line-height: 28px;
}

/*-----------------------------------------------------------------------------
| Copyright (c) 2014-2016, Jupyter Development Team.
|
| Distributed under the terms of the Modified BSD License.
|----------------------------------------------------------------------------*/

.jp-JSONEditor {
  display: flex;
  flex-direction: column;
  width: 100%;
}

.jp-JSONEditor-host {
  flex: 1 1 auto;
  border: var(--jp-border-width) solid var(--jp-input-border-color);
  border-radius: 0;
  background: var(--jp-layout-color0);
  min-height: 50px;
  padding: 1px;
}

.jp-JSONEditor.jp-mod-error .jp-JSONEditor-host {
  border-color: red;
  outline-color: red;
}

.jp-JSONEditor-header {
  display: flex;
  flex: 1 0 auto;
  padding: 0 0 0 12px;
}

.jp-JSONEditor-header label {
  flex: 0 0 auto;
}

.jp-JSONEditor-commitButton {
  height: 16px;
  width: 16px;
  background-size: 18px;
  background-repeat: no-repeat;
  background-position: center;
}

.jp-JSONEditor-host.jp-mod-focused {
  background-color: var(--jp-input-active-background);
  border: 1px solid var(--jp-input-active-border-color);
  box-shadow: var(--jp-input-box-shadow);
}

.jp-Editor.jp-mod-dropTarget {
  border: var(--jp-border-width) solid var(--jp-input-active-border-color);
  box-shadow: var(--jp-input-box-shadow);
}

/*-----------------------------------------------------------------------------
| Copyright (c) Jupyter Development Team.
| Distributed under the terms of the Modified BSD License.
|----------------------------------------------------------------------------*/
.jp-DocumentSearch-input {
  border: none;
  outline: none;
  color: var(--jp-ui-font-color0);
  font-size: var(--jp-ui-font-size1);
  background-color: var(--jp-layout-color0);
  font-family: var(--jp-ui-font-family);
  padding: 2px 1px;
  resize: none;
}

.jp-DocumentSearch-overlay {
  position: absolute;
  background-color: var(--jp-toolbar-background);
  border-bottom: var(--jp-border-width) solid var(--jp-toolbar-border-color);
  border-left: var(--jp-border-width) solid var(--jp-toolbar-border-color);
  top: 0;
  right: 0;
  z-index: 7;
  min-width: 405px;
  padding: 2px;
  font-size: var(--jp-ui-font-size1);

  --jp-private-document-search-button-height: 20px;
}

.jp-DocumentSearch-overlay button {
  background-color: var(--jp-toolbar-background);
  outline: 0;
}

.jp-DocumentSearch-overlay button:hover {
  background-color: var(--jp-layout-color2);
}

.jp-DocumentSearch-overlay button:active {
  background-color: var(--jp-layout-color3);
}

.jp-DocumentSearch-overlay-row {
  display: flex;
  align-items: center;
  margin-bottom: 2px;
}

.jp-DocumentSearch-button-content {
  display: inline-block;
  cursor: pointer;
  box-sizing: border-box;
  width: 100%;
  height: 100%;
}

.jp-DocumentSearch-button-content svg {
  width: 100%;
  height: 100%;
}

.jp-DocumentSearch-input-wrapper {
  border: var(--jp-border-width) solid var(--jp-border-color0);
  display: flex;
  background-color: var(--jp-layout-color0);
  margin: 2px;
}

.jp-DocumentSearch-input-wrapper:focus-within {
  border-color: var(--jp-cell-editor-active-border-color);
}

.jp-DocumentSearch-toggle-wrapper,
.jp-DocumentSearch-button-wrapper {
  all: initial;
  overflow: hidden;
  display: inline-block;
  border: none;
  box-sizing: border-box;
}

.jp-DocumentSearch-toggle-wrapper {
  width: 14px;
  height: 14px;
}

.jp-DocumentSearch-button-wrapper {
  width: var(--jp-private-document-search-button-height);
  height: var(--jp-private-document-search-button-height);
}

.jp-DocumentSearch-toggle-wrapper:focus,
.jp-DocumentSearch-button-wrapper:focus {
  outline: var(--jp-border-width) solid
    var(--jp-cell-editor-active-border-color);
  outline-offset: -1px;
}

.jp-DocumentSearch-toggle-wrapper,
.jp-DocumentSearch-button-wrapper,
.jp-DocumentSearch-button-content:focus {
  outline: none;
}

.jp-DocumentSearch-toggle-placeholder {
  width: 5px;
}

.jp-DocumentSearch-input-button::before {
  display: block;
  padding-top: 100%;
}

.jp-DocumentSearch-input-button-off {
  opacity: var(--jp-search-toggle-off-opacity);
}

.jp-DocumentSearch-input-button-off:hover {
  opacity: var(--jp-search-toggle-hover-opacity);
}

.jp-DocumentSearch-input-button-on {
  opacity: var(--jp-search-toggle-on-opacity);
}

.jp-DocumentSearch-index-counter {
  padding-left: 10px;
  padding-right: 10px;
  user-select: none;
  min-width: 35px;
  display: inline-block;
}

.jp-DocumentSearch-up-down-wrapper {
  display: inline-block;
  padding-right: 2px;
  margin-left: auto;
  white-space: nowrap;
}

.jp-DocumentSearch-spacer {
  margin-left: auto;
}

.jp-DocumentSearch-up-down-wrapper button {
  outline: 0;
  border: none;
  width: var(--jp-private-document-search-button-height);
  height: var(--jp-private-document-search-button-height);
  vertical-align: middle;
  margin: 1px 5px 2px;
}

.jp-DocumentSearch-up-down-button:hover {
  background-color: var(--jp-layout-color2);
}

.jp-DocumentSearch-up-down-button:active {
  background-color: var(--jp-layout-color3);
}

.jp-DocumentSearch-filter-button {
  border-radius: var(--jp-border-radius);
}

.jp-DocumentSearch-filter-button:hover {
  background-color: var(--jp-layout-color2);
}

.jp-DocumentSearch-filter-button-enabled {
  background-color: var(--jp-layout-color2);
}

.jp-DocumentSearch-filter-button-enabled:hover {
  background-color: var(--jp-layout-color3);
}

.jp-DocumentSearch-search-options {
  padding: 0 8px;
  margin-left: 3px;
  width: 100%;
  display: grid;
  justify-content: start;
  grid-template-columns: 1fr 1fr;
  align-items: center;
  justify-items: stretch;
}

.jp-DocumentSearch-search-filter-disabled {
  color: var(--jp-ui-font-color2);
}

.jp-DocumentSearch-search-filter {
  display: flex;
  align-items: center;
  user-select: none;
}

.jp-DocumentSearch-regex-error {
  color: var(--jp-error-color0);
}

.jp-DocumentSearch-replace-button-wrapper {
  overflow: hidden;
  display: inline-block;
  box-sizing: border-box;
  border: var(--jp-border-width) solid var(--jp-border-color0);
  margin: auto 2px;
  padding: 1px 4px;
  height: calc(var(--jp-private-document-search-button-height) + 2px);
}

.jp-DocumentSearch-replace-button-wrapper:focus {
  border: var(--jp-border-width) solid var(--jp-cell-editor-active-border-color);
}

.jp-DocumentSearch-replace-button {
  display: inline-block;
  text-align: center;
  cursor: pointer;
  box-sizing: border-box;
  color: var(--jp-ui-font-color1);

  /* height - 2 * (padding of wrapper) */
  line-height: calc(var(--jp-private-document-search-button-height) - 2px);
  width: 100%;
  height: 100%;
}

.jp-DocumentSearch-replace-button:focus {
  outline: none;
}

.jp-DocumentSearch-replace-wrapper-class {
  margin-left: 14px;
  display: flex;
}

.jp-DocumentSearch-replace-toggle {
  border: none;
  background-color: var(--jp-toolbar-background);
  border-radius: var(--jp-border-radius);
}

.jp-DocumentSearch-replace-toggle:hover {
  background-color: var(--jp-layout-color2);
}

/*-----------------------------------------------------------------------------
| Copyright (c) Jupyter Development Team.
| Distributed under the terms of the Modified BSD License.
|----------------------------------------------------------------------------*/

.cm-editor {
  line-height: var(--jp-code-line-height);
  font-size: var(--jp-code-font-size);
  font-family: var(--jp-code-font-family);
  border: 0;
  border-radius: 0;
  height: auto;

  /* Changed to auto to autogrow */
}

.cm-editor pre {
  padding: 0 var(--jp-code-padding);
}

.jp-CodeMirrorEditor[data-type='inline'] .cm-dialog {
  background-color: var(--jp-layout-color0);
  color: var(--jp-content-font-color1);
}

.jp-CodeMirrorEditor {
  cursor: text;
}

/* When zoomed out 67% and 33% on a screen of 1440 width x 900 height */
@media screen and (min-width: 2138px) and (max-width: 4319px) {
  .jp-CodeMirrorEditor[data-type='inline'] .cm-cursor {
    border-left: var(--jp-code-cursor-width1) solid
      var(--jp-editor-cursor-color);
  }
}

/* When zoomed out less than 33% */
@media screen and (min-width: 4320px) {
  .jp-CodeMirrorEditor[data-type='inline'] .cm-cursor {
    border-left: var(--jp-code-cursor-width2) solid
      var(--jp-editor-cursor-color);
  }
}

.cm-editor.jp-mod-readOnly .cm-cursor {
  display: none;
}

.jp-CollaboratorCursor {
  border-left: 5px solid transparent;
  border-right: 5px solid transparent;
  border-top: none;
  border-bottom: 3px solid;
  background-clip: content-box;
  margin-left: -5px;
  margin-right: -5px;
}

.cm-searching,
.cm-searching span {
  /* `.cm-searching span`: we need to override syntax highlighting */
  background-color: var(--jp-search-unselected-match-background-color);
  color: var(--jp-search-unselected-match-color);
}

.cm-searching::selection,
.cm-searching span::selection {
  background-color: var(--jp-search-unselected-match-background-color);
  color: var(--jp-search-unselected-match-color);
}

.jp-current-match > .cm-searching,
.jp-current-match > .cm-searching span,
.cm-searching > .jp-current-match,
.cm-searching > .jp-current-match span {
  background-color: var(--jp-search-selected-match-background-color);
  color: var(--jp-search-selected-match-color);
}

.jp-current-match > .cm-searching::selection,
.cm-searching > .jp-current-match::selection,
.jp-current-match > .cm-searching span::selection {
  background-color: var(--jp-search-selected-match-background-color);
  color: var(--jp-search-selected-match-color);
}

.cm-trailingspace {
  background-image: url();
  background-position: center left;
  background-repeat: repeat-x;
}

.jp-CollaboratorCursor-hover {
  position: absolute;
  z-index: 1;
  transform: translateX(-50%);
  color: white;
  border-radius: 3px;
  padding-left: 4px;
  padding-right: 4px;
  padding-top: 1px;
  padding-bottom: 1px;
  text-align: center;
  font-size: var(--jp-ui-font-size1);
  white-space: nowrap;
}

.jp-CodeMirror-ruler {
  border-left: 1px dashed var(--jp-border-color2);
}

/* Styles for shared cursors (remote cursor locations and selected ranges) */
.jp-CodeMirrorEditor .cm-ySelectionCaret {
  position: relative;
  border-left: 1px solid black;
  margin-left: -1px;
  margin-right: -1px;
  box-sizing: border-box;
}

.jp-CodeMirrorEditor .cm-ySelectionCaret > .cm-ySelectionInfo {
  white-space: nowrap;
  position: absolute;
  top: -1.15em;
  padding-bottom: 0.05em;
  left: -1px;
  font-size: 0.95em;
  font-family: var(--jp-ui-font-family);
  font-weight: bold;
  line-height: normal;
  user-select: none;
  color: white;
  padding-left: 2px;
  padding-right: 2px;
  z-index: 101;
  transition: opacity 0.3s ease-in-out;
}

.jp-CodeMirrorEditor .cm-ySelectionInfo {
  transition-delay: 0.7s;
  opacity: 0;
}

.jp-CodeMirrorEditor .cm-ySelectionCaret:hover > .cm-ySelectionInfo {
  opacity: 1;
  transition-delay: 0s;
}

/*-----------------------------------------------------------------------------
| Copyright (c) Jupyter Development Team.
| Distributed under the terms of the Modified BSD License.
|----------------------------------------------------------------------------*/

.jp-MimeDocument {
  outline: none;
}

/*-----------------------------------------------------------------------------
| Copyright (c) Jupyter Development Team.
| Distributed under the terms of the Modified BSD License.
|----------------------------------------------------------------------------*/

/*-----------------------------------------------------------------------------
| Variables
|----------------------------------------------------------------------------*/

:root {
  --jp-private-filebrowser-button-height: 28px;
  --jp-private-filebrowser-button-width: 48px;
}

/*-----------------------------------------------------------------------------
| Copyright (c) Jupyter Development Team.
| Distributed under the terms of the Modified BSD License.
|----------------------------------------------------------------------------*/

.jp-FileBrowser .jp-SidePanel-content {
  display: flex;
  flex-direction: column;
}

.jp-FileBrowser-toolbar.jp-Toolbar {
  flex-wrap: wrap;
  row-gap: 12px;
  border-bottom: none;
  height: auto;
  margin: 8px 12px 0;
  box-shadow: none;
  padding: 0;
  justify-content: flex-start;
}

.jp-FileBrowser-Panel {
  flex: 1 1 auto;
  display: flex;
  flex-direction: column;
}

.jp-BreadCrumbs {
  flex: 0 0 auto;
  margin: 8px 12px;
}

.jp-BreadCrumbs-item {
  margin: 0 2px;
  padding: 0 2px;
  border-radius: var(--jp-border-radius);
  cursor: pointer;
}

.jp-BreadCrumbs-item:hover {
  background-color: var(--jp-layout-color2);
}

.jp-BreadCrumbs-item:first-child {
  margin-left: 0;
}

.jp-BreadCrumbs-item.jp-mod-dropTarget {
  background-color: var(--jp-brand-color2);
  opacity: 0.7;
}

/*-----------------------------------------------------------------------------
| Buttons
|----------------------------------------------------------------------------*/

.jp-FileBrowser-toolbar > .jp-Toolbar-item {
  flex: 0 0 auto;
  padding-left: 0;
  padding-right: 2px;
  align-items: center;
  height: unset;
}

.jp-FileBrowser-toolbar > .jp-Toolbar-item .jp-ToolbarButtonComponent {
  width: 40px;
}

/*-----------------------------------------------------------------------------
| Other styles
|----------------------------------------------------------------------------*/

.jp-FileDialog.jp-mod-conflict input {
  color: var(--jp-error-color1);
}

.jp-FileDialog .jp-new-name-title {
  margin-top: 12px;
}

.jp-LastModified-hidden {
  display: none;
}

.jp-FileSize-hidden {
  display: none;
}

.jp-FileBrowser .lm-AccordionPanel > h3:first-child {
  display: none;
}

/*-----------------------------------------------------------------------------
| DirListing
|----------------------------------------------------------------------------*/

.jp-DirListing {
  flex: 1 1 auto;
  display: flex;
  flex-direction: column;
  outline: 0;
}

.jp-DirListing-header {
  flex: 0 0 auto;
  display: flex;
  flex-direction: row;
  align-items: center;
  overflow: hidden;
  border-top: var(--jp-border-width) solid var(--jp-border-color2);
  border-bottom: var(--jp-border-width) solid var(--jp-border-color1);
  box-shadow: var(--jp-toolbar-box-shadow);
  z-index: 2;
}

.jp-DirListing-headerItem {
  padding: 4px 12px 2px;
  font-weight: 500;
}

.jp-DirListing-headerItem:hover {
  background: var(--jp-layout-color2);
}

.jp-DirListing-headerItem.jp-id-name {
  flex: 1 0 84px;
}

.jp-DirListing-headerItem.jp-id-modified {
  flex: 0 0 112px;
  border-left: var(--jp-border-width) solid var(--jp-border-color2);
  text-align: right;
}

.jp-DirListing-headerItem.jp-id-filesize {
  flex: 0 0 75px;
  border-left: var(--jp-border-width) solid var(--jp-border-color2);
  text-align: right;
}

.jp-id-narrow {
  display: none;
  flex: 0 0 5px;
  padding: 4px;
  border-left: var(--jp-border-width) solid var(--jp-border-color2);
  text-align: right;
  color: var(--jp-border-color2);
}

.jp-DirListing-narrow .jp-id-narrow {
  display: block;
}

.jp-DirListing-narrow .jp-id-modified,
.jp-DirListing-narrow .jp-DirListing-itemModified {
  display: none;
}

.jp-DirListing-headerItem.jp-mod-selected {
  font-weight: 600;
}

/* increase specificity to override bundled default */
.jp-DirListing-content {
  flex: 1 1 auto;
  margin: 0;
  padding: 0;
  list-style-type: none;
  overflow: auto;
  background-color: var(--jp-layout-color1);
}

.jp-DirListing-content mark {
  color: var(--jp-ui-font-color0);
  background-color: transparent;
  font-weight: bold;
}

.jp-DirListing-content .jp-DirListing-item.jp-mod-selected mark {
  color: var(--jp-ui-inverse-font-color0);
}

/* Style the directory listing content when a user drops a file to upload */
.jp-DirListing.jp-mod-native-drop .jp-DirListing-content {
  outline: 5px dashed rgba(128, 128, 128, 0.5);
  outline-offset: -10px;
  cursor: copy;
}

.jp-DirListing-item {
  display: flex;
  flex-direction: row;
  align-items: center;
  padding: 4px 12px;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}

.jp-DirListing-checkboxWrapper {
  /* Increases hit area of checkbox. */
  padding: 4px;
}

.jp-DirListing-header
  .jp-DirListing-checkboxWrapper
  + .jp-DirListing-headerItem {
  padding-left: 4px;
}

.jp-DirListing-content .jp-DirListing-checkboxWrapper {
  position: relative;
  left: -4px;
  margin: -4px 0 -4px -8px;
}

.jp-DirListing-checkboxWrapper.jp-mod-visible {
  visibility: visible;
}

/* For devices that support hovering, hide checkboxes until hovered, selected...
*/
@media (hover: hover) {
  .jp-DirListing-checkboxWrapper {
    visibility: hidden;
  }

  .jp-DirListing-item:hover .jp-DirListing-checkboxWrapper,
  .jp-DirListing-item.jp-mod-selected .jp-DirListing-checkboxWrapper {
    visibility: visible;
  }
}

.jp-DirListing-item[data-is-dot] {
  opacity: 75%;
}

.jp-DirListing-item.jp-mod-selected {
  color: var(--jp-ui-inverse-font-color1);
  background: var(--jp-brand-color1);
}

.jp-DirListing-item.jp-mod-dropTarget {
  background: var(--jp-brand-color3);
}

.jp-DirListing-item:hover:not(.jp-mod-selected) {
  background: var(--jp-layout-color2);
}

.jp-DirListing-itemIcon {
  flex: 0 0 20px;
  margin-right: 4px;
}

.jp-DirListing-itemText {
  flex: 1 0 64px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  user-select: none;
}

.jp-DirListing-itemText:focus {
  outline-width: 2px;
  outline-color: var(--jp-inverse-layout-color1);
  outline-style: solid;
  outline-offset: 1px;
}

.jp-DirListing-item.jp-mod-selected .jp-DirListing-itemText:focus {
  outline-color: var(--jp-layout-color1);
}

.jp-DirListing-itemModified {
  flex: 0 0 125px;
  text-align: right;
}

.jp-DirListing-itemFileSize {
  flex: 0 0 90px;
  text-align: right;
}

.jp-DirListing-editor {
  flex: 1 0 64px;
  outline: none;
  border: none;
  color: var(--jp-ui-font-color1);
  background-color: var(--jp-layout-color1);
}

.jp-DirListing-item.jp-mod-running .jp-DirListing-itemIcon::before {
  color: var(--jp-success-color1);
  content: '\25CF';
  font-size: 8px;
  position: absolute;
  left: -8px;
}

.jp-DirListing-item.jp-mod-running.jp-mod-selected
  .jp-DirListing-itemIcon::before {
  color: var(--jp-ui-inverse-font-color1);
}

.jp-DirListing-item.lm-mod-drag-image,
.jp-DirListing-item.jp-mod-selected.lm-mod-drag-image {
  font-size: var(--jp-ui-font-size1);
  padding-left: 4px;
  margin-left: 4px;
  width: 160px;
  background-color: var(--jp-ui-inverse-font-color2);
  box-shadow: var(--jp-elevation-z2);
  border-radius: 0;
  color: var(--jp-ui-font-color1);
  transform: translateX(-40%) translateY(-58%);
}

.jp-Document {
  min-width: 120px;
  min-height: 120px;
  outline: none;
}

/*-----------------------------------------------------------------------------
| Copyright (c) Jupyter Development Team.
| Distributed under the terms of the Modified BSD License.
|----------------------------------------------------------------------------*/

/*-----------------------------------------------------------------------------
| Main OutputArea
| OutputArea has a list of Outputs
|----------------------------------------------------------------------------*/

.jp-OutputArea {
  overflow-y: auto;
}

.jp-OutputArea-child {
  display: table;
  table-layout: fixed;
  width: 100%;
  overflow: hidden;
}

.jp-OutputPrompt {
  width: var(--jp-cell-prompt-width);
  color: var(--jp-cell-outprompt-font-color);
  font-family: var(--jp-cell-prompt-font-family);
  padding: var(--jp-code-padding);
  letter-spacing: var(--jp-cell-prompt-letter-spacing);
  line-height: var(--jp-code-line-height);
  font-size: var(--jp-code-font-size);
  border: var(--jp-border-width) solid transparent;
  opacity: var(--jp-cell-prompt-opacity);

  /* Right align prompt text, don't wrap to handle large prompt numbers */
  text-align: right;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;

  /* Disable text selection */
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}

.jp-OutputArea-prompt {
  display: table-cell;
  vertical-align: top;
}

.jp-OutputArea-output {
  display: table-cell;
  width: 100%;
  height: auto;
  overflow: auto;
  user-select: text;
  -moz-user-select: text;
  -webkit-user-select: text;
  -ms-user-select: text;
}

.jp-OutputArea .jp-RenderedText {
  padding-left: 1ch;
}

/**
 * Prompt overlay.
 */

.jp-OutputArea-promptOverlay {
  position: absolute;
  top: 0;
  width: var(--jp-cell-prompt-width);
  height: 100%;
  opacity: 0.5;
}

.jp-OutputArea-promptOverlay:hover {
  background: var(--jp-layout-color2);
  box-shadow: inset 0 0 1px var(--jp-inverse-layout-color0);
  cursor: zoom-out;
}

.jp-mod-outputsScrolled .jp-OutputArea-promptOverlay:hover {
  cursor: zoom-in;
}

/**
 * Isolated output.
 */
.jp-OutputArea-output.jp-mod-isolated {
  width: 100%;
  display: block;
}

/*
When drag events occur, `lm-mod-override-cursor` is added to the body.
Because iframes steal all cursor events, the following two rules are necessary
to suppress pointer events while resize drags are occurring. There may be a
better solution to this problem.
*/
body.lm-mod-override-cursor .jp-OutputArea-output.jp-mod-isolated {
  position: relative;
}

body.lm-mod-override-cursor .jp-OutputArea-output.jp-mod-isolated::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: transparent;
}

/* pre */

.jp-OutputArea-output pre {
  border: none;
  margin: 0;
  padding: 0;
  overflow-x: auto;
  overflow-y: auto;
  word-break: break-all;
  word-wrap: break-word;
  white-space: pre-wrap;
}

/* tables */

.jp-OutputArea-output.jp-RenderedHTMLCommon table {
  margin-left: 0;
  margin-right: 0;
}

/* description lists */

.jp-OutputArea-output dl,
.jp-OutputArea-output dt,
.jp-OutputArea-output dd {
  display: block;
}

.jp-OutputArea-output dl {
  width: 100%;
  overflow: hidden;
  padding: 0;
  margin: 0;
}

.jp-OutputArea-output dt {
  font-weight: bold;
  float: left;
  width: 20%;
  padding: 0;
  margin: 0;
}

.jp-OutputArea-output dd {
  float: left;
  width: 80%;
  padding: 0;
  margin: 0;
}

.jp-TrimmedOutputs pre {
  background: var(--jp-layout-color3);
  font-size: calc(var(--jp-code-font-size) * 1.4);
  text-align: center;
  text-transform: uppercase;
}

/* Hide the gutter in case of
 *  - nested output areas (e.g. in the case of output widgets)
 *  - mirrored output areas
 */
.jp-OutputArea .jp-OutputArea .jp-OutputArea-prompt {
  display: none;
}

/* Hide empty lines in the output area, for instance due to cleared widgets */
.jp-OutputArea-prompt:empty {
  padding: 0;
  border: 0;
}

/*-----------------------------------------------------------------------------
| executeResult is added to any Output-result for the display of the object
| returned by a cell
|----------------------------------------------------------------------------*/

.jp-OutputArea-output.jp-OutputArea-executeResult {
  margin-left: 0;
  width: 100%;
}

/* Text output with the Out[] prompt needs a top padding to match the
 * alignment of the Out[] prompt itself.
 */
.jp-OutputArea-executeResult .jp-RenderedText.jp-OutputArea-output {
  padding-top: var(--jp-code-padding);
  border-top: var(--jp-border-width) solid transparent;
}

/*-----------------------------------------------------------------------------
| The Stdin output
|----------------------------------------------------------------------------*/

.jp-Stdin-prompt {
  color: var(--jp-content-font-color0);
  padding-right: var(--jp-code-padding);
  vertical-align: baseline;
  flex: 0 0 auto;
}

.jp-Stdin-input {
  font-family: var(--jp-code-font-family);
  font-size: inherit;
  color: inherit;
  background-color: inherit;
  width: 42%;
  min-width: 200px;

  /* make sure input baseline aligns with prompt */
  vertical-align: baseline;

  /* padding + margin = 0.5em between prompt and cursor */
  padding: 0 0.25em;
  margin: 0 0.25em;
  flex: 0 0 70%;
}

.jp-Stdin-input::placeholder {
  opacity: 0;
}

.jp-Stdin-input:focus {
  box-shadow: none;
}

.jp-Stdin-input:focus::placeholder {
  opacity: 1;
}

/*-----------------------------------------------------------------------------
| Output Area View
|----------------------------------------------------------------------------*/

.jp-LinkedOutputView .jp-OutputArea {
  height: 100%;
  display: block;
}

.jp-LinkedOutputView .jp-OutputArea-output:only-child {
  height: 100%;
}

/*-----------------------------------------------------------------------------
| Printing
|----------------------------------------------------------------------------*/

@media print {
  .jp-OutputArea-child {
    break-inside: avoid-page;
  }
}

/*-----------------------------------------------------------------------------
| Mobile
|----------------------------------------------------------------------------*/
@media only screen and (max-width: 760px) {
  .jp-OutputPrompt {
    display: table-row;
    text-align: left;
  }

  .jp-OutputArea-child .jp-OutputArea-output {
    display: table-row;
    margin-left: var(--jp-notebook-padding);
  }
}

/* Trimmed outputs warning */
.jp-TrimmedOutputs > a {
  margin: 10px;
  text-decoration: none;
  cursor: pointer;
}

.jp-TrimmedOutputs > a:hover {
  text-decoration: none;
}

/*-----------------------------------------------------------------------------
| Copyright (c) Jupyter Development Team.
| Distributed under the terms of the Modified BSD License.
|----------------------------------------------------------------------------*/

/*-----------------------------------------------------------------------------
| Table of Contents
|----------------------------------------------------------------------------*/

:root {
  --jp-private-toc-active-width: 4px;
}

.jp-TableOfContents {
  display: flex;
  flex-direction: column;
  background: var(--jp-layout-color1);
  color: var(--jp-ui-font-color1);
  font-size: var(--jp-ui-font-size1);
  height: 100%;
}

.jp-TableOfContents-placeholder {
  text-align: center;
}

.jp-TableOfContents-placeholderContent {
  color: var(--jp-content-font-color2);
  padding: 8px;
}

.jp-TableOfContents-placeholderContent > h3 {
  margin-bottom: var(--jp-content-heading-margin-bottom);
}

.jp-TableOfContents .jp-SidePanel-content {
  overflow-y: auto;
}

.jp-TableOfContents-tree {
  margin: 4px;
}

.jp-TableOfContents ol {
  list-style-type: none;
}

/* stylelint-disable-next-line selector-max-type */
.jp-TableOfContents li > ol {
  /* Align left border with triangle icon center */
  padding-left: 11px;
}

.jp-TableOfContents-content {
  /* left margin for the active heading indicator */
  margin: 0 0 0 var(--jp-private-toc-active-width);
  padding: 0;
  background-color: var(--jp-layout-color1);
}

.jp-tocItem {
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}

.jp-tocItem-heading {
  display: flex;
  cursor: pointer;
}

.jp-tocItem-heading:hover {
  background-color: var(--jp-layout-color2);
}

.jp-tocItem-content {
  display: block;
  padding: 4px 0;
  white-space: nowrap;
  text-overflow: ellipsis;
  overflow-x: hidden;
}

.jp-tocItem-collapser {
  height: 20px;
  margin: 2px 2px 0;
  padding: 0;
  background: none;
  border: none;
  cursor: pointer;
}

.jp-tocItem-collapser:hover {
  background-color: var(--jp-layout-color3);
}

/* Active heading indicator */

.jp-tocItem-heading::before {
  content: ' ';
  background: transparent;
  width: var(--jp-private-toc-active-width);
  height: 24px;
  position: absolute;
  left: 0;
  border-radius: var(--jp-border-radius);
}

.jp-tocItem-heading.jp-tocItem-active::before {
  background-color: var(--jp-brand-color1);
}

.jp-tocItem-heading:hover.jp-tocItem-active::before {
  background: var(--jp-brand-color0);
  opacity: 1;
}

/*-----------------------------------------------------------------------------
| Copyright (c) Jupyter Development Team.
| Distributed under the terms of the Modified BSD License.
|----------------------------------------------------------------------------*/

.jp-Collapser {
  flex: 0 0 var(--jp-cell-collapser-width);
  padding: 0;
  margin: 0;
  border: none;
  outline: none;
  background: transparent;
  border-radius: var(--jp-border-radius);
  opacity: 1;
}

.jp-Collapser-child {
  display: block;
  width: 100%;
  box-sizing: border-box;

  /* height: 100% doesn't work because the height of its parent is computed from content */
  position: absolute;
  top: 0;
  bottom: 0;
}

/*-----------------------------------------------------------------------------
| Printing
|----------------------------------------------------------------------------*/

/*
Hiding collapsers in print mode.

Note: input and output wrappers have "display: block" propery in print mode.
*/

@media print {
  .jp-Collapser {
    display: none;
  }
}

/*-----------------------------------------------------------------------------
| Copyright (c) Jupyter Development Team.
| Distributed under the terms of the Modified BSD License.
|----------------------------------------------------------------------------*/

/*-----------------------------------------------------------------------------
| Header/Footer
|----------------------------------------------------------------------------*/

/* Hidden by zero height by default */
.jp-CellHeader,
.jp-CellFooter {
  height: 0;
  width: 100%;
  padding: 0;
  margin: 0;
  border: none;
  outline: none;
  background: transparent;
}

/*-----------------------------------------------------------------------------
| Copyright (c) Jupyter Development Team.
| Distributed under the terms of the Modified BSD License.
|----------------------------------------------------------------------------*/

/*-----------------------------------------------------------------------------
| Input
|----------------------------------------------------------------------------*/

/* All input areas */
.jp-InputArea {
  display: table;
  table-layout: fixed;
  width: 100%;
  overflow: hidden;
}

.jp-InputArea-editor {
  display: table-cell;
  overflow: hidden;
  vertical-align: top;

  /* This is the non-active, default styling */
  border: var(--jp-border-width) solid var(--jp-cell-editor-border-color);
  border-radius: 0;
  background: var(--jp-cell-editor-background);
}

.jp-InputPrompt {
  display: table-cell;
  vertical-align: top;
  width: var(--jp-cell-prompt-width);
  color: var(--jp-cell-inprompt-font-color);
  font-family: var(--jp-cell-prompt-font-family);
  padding: var(--jp-code-padding);
  letter-spacing: var(--jp-cell-prompt-letter-spacing);
  opacity: var(--jp-cell-prompt-opacity);
  line-height: var(--jp-code-line-height);
  font-size: var(--jp-code-font-size);
  border: var(--jp-border-width) solid transparent;

  /* Right align prompt text, don't wrap to handle large prompt numbers */
  text-align: right;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;

  /* Disable text selection */
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}

/*-----------------------------------------------------------------------------
| Mobile
|----------------------------------------------------------------------------*/
@media only screen and (max-width: 760px) {
  .jp-InputArea-editor {
    display: table-row;
    margin-left: var(--jp-notebook-padding);
  }

  .jp-InputPrompt {
    display: table-row;
    text-align: left;
  }
}

/*-----------------------------------------------------------------------------
| Copyright (c) Jupyter Development Team.
| Distributed under the terms of the Modified BSD License.
|----------------------------------------------------------------------------*/

/*-----------------------------------------------------------------------------
| Placeholder
|----------------------------------------------------------------------------*/

.jp-Placeholder {
  display: table;
  table-layout: fixed;
  width: 100%;
}

.jp-Placeholder-prompt {
  display: table-cell;
  box-sizing: border-box;
}

.jp-Placeholder-content {
  display: table-cell;
  padding: 4px 6px;
  border: 1px solid transparent;
  border-radius: 0;
  background: none;
  box-sizing: border-box;
  cursor: pointer;
}

.jp-Placeholder-contentContainer {
  display: flex;
}

.jp-Placeholder-content:hover,
.jp-InputPlaceholder > .jp-Placeholder-content:hover {
  border-color: var(--jp-layout-color3);
}

.jp-Placeholder-content .jp-MoreHorizIcon {
  width: 32px;
  height: 16px;
  border: 1px solid transparent;
  border-radius: var(--jp-border-radius);
}

.jp-Placeholder-content .jp-MoreHorizIcon:hover {
  border: 1px solid var(--jp-border-color1);
  box-shadow: 0 0 2px 0 rgba(0, 0, 0, 0.25);
  background-color: var(--jp-layout-color0);
}

.jp-PlaceholderText {
  white-space: nowrap;
  overflow-x: hidden;
  color: var(--jp-inverse-layout-color3);
  font-family: var(--jp-code-font-family);
}

.jp-InputPlaceholder > .jp-Placeholder-content {
  border-color: var(--jp-cell-editor-border-color);
  background: var(--jp-cell-editor-background);
}

/*-----------------------------------------------------------------------------
| Copyright (c) Jupyter Development Team.
| Distributed under the terms of the Modified BSD License.
|----------------------------------------------------------------------------*/

/*-----------------------------------------------------------------------------
| Private CSS variables
|----------------------------------------------------------------------------*/

:root {
  --jp-private-cell-scrolling-output-offset: 5px;
}

/*-----------------------------------------------------------------------------
| Cell
|----------------------------------------------------------------------------*/

.jp-Cell {
  padding: var(--jp-cell-padding);
  margin: 0;
  border: none;
  outline: none;
  background: transparent;
}

/*-----------------------------------------------------------------------------
| Common input/output
|----------------------------------------------------------------------------*/

.jp-Cell-inputWrapper,
.jp-Cell-outputWrapper {
  display: flex;
  flex-direction: row;
  padding: 0;
  margin: 0;

  /* Added to reveal the box-shadow on the input and output collapsers. */
  overflow: visible;
}

/* Only input/output areas inside cells */
.jp-Cell-inputArea,
.jp-Cell-outputArea {
  flex: 1 1 auto;
}

/*-----------------------------------------------------------------------------
| Collapser
|----------------------------------------------------------------------------*/

/* Make the output collapser disappear when there is not output, but do so
 * in a manner that leaves it in the layout and preserves its width.
 */
.jp-Cell.jp-mod-noOutputs .jp-Cell-outputCollapser {
  border: none !important;
  background: transparent !important;
}

.jp-Cell:not(.jp-mod-noOutputs) .jp-Cell-outputCollapser {
  min-height: var(--jp-cell-collapser-min-height);
}

/*-----------------------------------------------------------------------------
| Output
|----------------------------------------------------------------------------*/

/* Put a space between input and output when there IS output */
.jp-Cell:not(.jp-mod-noOutputs) .jp-Cell-outputWrapper {
  margin-top: 5px;
}

.jp-CodeCell.jp-mod-outputsScrolled .jp-Cell-outputArea {
  overflow-y: auto;
  max-height: 24em;
  margin-left: var(--jp-private-cell-scrolling-output-offset);
  resize: vertical;
}

.jp-CodeCell.jp-mod-outputsScrolled .jp-Cell-outputArea[style*='height'] {
  max-height: unset;
}

.jp-CodeCell.jp-mod-outputsScrolled .jp-Cell-outputArea::after {
  content: ' ';
  box-shadow: inset 0 0 6px 2px rgb(0 0 0 / 30%);
  width: 100%;
  height: 100%;
  position: sticky;
  bottom: 0;
  top: 0;
  margin-top: -50%;
  float: left;
  display: block;
  pointer-events: none;
}

.jp-CodeCell.jp-mod-outputsScrolled .jp-OutputArea-child {
  padding-top: 6px;
}

.jp-CodeCell.jp-mod-outputsScrolled .jp-OutputArea-prompt {
  width: calc(
    var(--jp-cell-prompt-width) - var(--jp-private-cell-scrolling-output-offset)
  );
}

.jp-CodeCell.jp-mod-outputsScrolled .jp-OutputArea-promptOverlay {
  left: calc(-1 * var(--jp-private-cell-scrolling-output-offset));
}

/*-----------------------------------------------------------------------------
| CodeCell
|----------------------------------------------------------------------------*/

/*-----------------------------------------------------------------------------
| MarkdownCell
|----------------------------------------------------------------------------*/

.jp-MarkdownOutput {
  display: table-cell;
  width: 100%;
  margin-top: 0;
  margin-bottom: 0;
  padding-left: var(--jp-code-padding);
}

.jp-MarkdownOutput.jp-RenderedHTMLCommon {
  overflow: auto;
}

/* collapseHeadingButton (show always if hiddenCellsButton is _not_ shown) */
.jp-collapseHeadingButton {
  display: flex;
  min-height: var(--jp-cell-collapser-min-height);
  font-size: var(--jp-code-font-size);
  position: absolute;
  background-color: transparent;
  background-size: 25px;
  background-repeat: no-repeat;
  background-position-x: center;
  background-position-y: top;
  background-image: var(--jp-icon-caret-down);
  right: 0;
  top: 0;
  bottom: 0;
}

.jp-collapseHeadingButton.jp-mod-collapsed {
  background-image: var(--jp-icon-caret-right);
}

/*
 set the container font size to match that of content
 so that the nested collapse buttons have the right size
*/
.jp-MarkdownCell .jp-InputPrompt {
  font-size: var(--jp-content-font-size1);
}

/*
  Align collapseHeadingButton with cell top header
  The font sizes are identical to the ones in packages/rendermime/style/base.css
*/
.jp-mod-rendered .jp-collapseHeadingButton[data-heading-level='1'] {
  font-size: var(--jp-content-font-size5);
  background-position-y: calc(0.3 * var(--jp-content-font-size5));
}

.jp-mod-rendered .jp-collapseHeadingButton[data-heading-level='2'] {
  font-size: var(--jp-content-font-size4);
  background-position-y: calc(0.3 * var(--jp-content-font-size4));
}

.jp-mod-rendered .jp-collapseHeadingButton[data-heading-level='3'] {
  font-size: var(--jp-content-font-size3);
  background-position-y: calc(0.3 * var(--jp-content-font-size3));
}

.jp-mod-rendered .jp-collapseHeadingButton[data-heading-level='4'] {
  font-size: var(--jp-content-font-size2);
  background-position-y: calc(0.3 * var(--jp-content-font-size2));
}

.jp-mod-rendered .jp-collapseHeadingButton[data-heading-level='5'] {
  font-size: var(--jp-content-font-size1);
  background-position-y: top;
}

.jp-mod-rendered .jp-collapseHeadingButton[data-heading-level='6'] {
  font-size: var(--jp-content-font-size0);
  background-position-y: top;
}

/* collapseHeadingButton (show only on (hover,active) if hiddenCellsButton is shown) */
.jp-Notebook.jp-mod-showHiddenCellsButton .jp-collapseHeadingButton {
  display: none;
}

.jp-Notebook.jp-mod-showHiddenCellsButton
  :is(.jp-MarkdownCell:hover, .jp-mod-active)
  .jp-collapseHeadingButton {
  display: flex;
}

/* showHiddenCellsButton (only show if jp-mod-showHiddenCellsButton is set, which
is a consequence of the showHiddenCellsButton option in Notebook Settings)*/
.jp-Notebook.jp-mod-showHiddenCellsButton .jp-showHiddenCellsButton {
  margin-left: calc(var(--jp-cell-prompt-width) + 2 * var(--jp-code-padding));
  margin-top: var(--jp-code-padding);
  border: 1px solid var(--jp-border-color2);
  background-color: var(--jp-border-color3) !important;
  color: var(--jp-content-font-color0) !important;
  display: flex;
}

.jp-Notebook.jp-mod-showHiddenCellsButton .jp-showHiddenCellsButton:hover {
  background-color: var(--jp-border-color2) !important;
}

.jp-showHiddenCellsButton {
  display: none;
}

/*-----------------------------------------------------------------------------
| Printing
|----------------------------------------------------------------------------*/

/*
Using block instead of flex to allow the use of the break-inside CSS property for
cell outputs.
*/

@media print {
  .jp-Cell-inputWrapper,
  .jp-Cell-outputWrapper {
    display: block;
  }
}

/*-----------------------------------------------------------------------------
| Copyright (c) Jupyter Development Team.
| Distributed under the terms of the Modified BSD License.
|----------------------------------------------------------------------------*/

/*-----------------------------------------------------------------------------
| Copyright (c) Jupyter Development Team.
| Distributed under the terms of the Modified BSD License.
|----------------------------------------------------------------------------*/

/*-----------------------------------------------------------------------------
| Variables
|----------------------------------------------------------------------------*/

:root {
  --jp-notebook-toolbar-padding: 2px 5px 2px 2px;
}

/*-----------------------------------------------------------------------------

/*-----------------------------------------------------------------------------
| Styles
|----------------------------------------------------------------------------*/

.jp-NotebookPanel-toolbar {
  padding: var(--jp-notebook-toolbar-padding);

  /* disable paint containment from lumino 2.0 default strict CSS containment */
  contain: style size !important;
}

.jp-Toolbar-item.jp-Notebook-toolbarCellType .jp-select-wrapper.jp-mod-focused {
  border: none;
  box-shadow: none;
}

.jp-Notebook-toolbarCellTypeDropdown select {
  height: 24px;
  font-size: var(--jp-ui-font-size1);
  line-height: 14px;
  border-radius: 0;
  display: block;
}

.jp-Notebook-toolbarCellTypeDropdown span {
  top: 5px !important;
}

.jp-Toolbar-responsive-popup {
  position: absolute;
  height: fit-content;
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: flex-end;
  border-bottom: var(--jp-border-width) solid var(--jp-toolbar-border-color);
  box-shadow: var(--jp-toolbar-box-shadow);
  background: var(--jp-toolbar-background);
  min-height: var(--jp-toolbar-micro-height);
  padding: var(--jp-notebook-toolbar-padding);
  z-index: 1;
  right: 0;
  top: 0;
}

.jp-Toolbar > .jp-Toolbar-responsive-opener {
  margin-left: auto;
}

/*-----------------------------------------------------------------------------
| Copyright (c) Jupyter Development Team.
| Distributed under the terms of the Modified BSD License.
|----------------------------------------------------------------------------*/

/*-----------------------------------------------------------------------------
| Variables
|----------------------------------------------------------------------------*/

/*-----------------------------------------------------------------------------

/*-----------------------------------------------------------------------------
| Styles
|----------------------------------------------------------------------------*/

.jp-Notebook-ExecutionIndicator {
  position: relative;
  display: inline-block;
  height: 100%;
  z-index: 9997;
}

.jp-Notebook-ExecutionIndicator-tooltip {
  visibility: hidden;
  height: auto;
  width: max-content;
  width: -moz-max-content;
  background-color: var(--jp-layout-color2);
  color: var(--jp-ui-font-color1);
  text-align: justify;
  border-radius: 6px;
  padding: 0 5px;
  position: fixed;
  display: table;
}

.jp-Notebook-ExecutionIndicator-tooltip.up {
  transform: translateX(-50%) translateY(-100%) translateY(-32px);
}

.jp-Notebook-ExecutionIndicator-tooltip.down {
  transform: translateX(calc(-100% + 16px)) translateY(5px);
}

.jp-Notebook-ExecutionIndicator-tooltip.hidden {
  display: none;
}

.jp-Notebook-ExecutionIndicator:hover .jp-Notebook-ExecutionIndicator-tooltip {
  visibility: visible;
}

.jp-Notebook-ExecutionIndicator span {
  font-size: var(--jp-ui-font-size1);
  font-family: var(--jp-ui-font-family);
  color: var(--jp-ui-font-color1);
  line-height: 24px;
  display: block;
}

.jp-Notebook-ExecutionIndicator-progress-bar {
  display: flex;
  justify-content: center;
  height: 100%;
}

/*
 * Copyright (c) Jupyter Development Team.
 * Distributed under the terms of the Modified BSD License.
 */

/*
 * Execution indicator
 */
.jp-tocItem-content::after {
  content: '';

  /* Must be identical to form a circle */
  width: 12px;
  height: 12px;
  background: none;
  border: none;
  position: absolute;
  right: 0;
}

.jp-tocItem-content[data-running='0']::after {
  border-radius: 50%;
  border: var(--jp-border-width) solid var(--jp-inverse-layout-color3);
  background: none;
}

.jp-tocItem-content[data-running='1']::after {
  border-radius: 50%;
  border: var(--jp-border-width) solid var(--jp-inverse-layout-color3);
  background-color: var(--jp-inverse-layout-color3);
}

.jp-tocItem-content[data-running='0'],
.jp-tocItem-content[data-running='1'] {
  margin-right: 12px;
}

/*
 * Copyright (c) Jupyter Development Team.
 * Distributed under the terms of the Modified BSD License.
 */

.jp-Notebook-footer {
  height: 27px;
  margin-left: calc(
    var(--jp-cell-prompt-width) + var(--jp-cell-collapser-width) +
      var(--jp-cell-padding)
  );
  width: calc(
    100% -
      (
        var(--jp-cell-prompt-width) + var(--jp-cell-collapser-width) +
          var(--jp-cell-padding) + var(--jp-cell-padding)
      )
  );
  border: var(--jp-border-width) solid var(--jp-cell-editor-border-color);
  color: var(--jp-ui-font-color3);
  margin-top: 6px;
  background: none;
  cursor: pointer;
}

.jp-Notebook-footer:focus {
  border-color: var(--jp-cell-editor-active-border-color);
}

/* For devices that support hovering, hide footer until hover */
@media (hover: hover) {
  .jp-Notebook-footer {
    opacity: 0;
  }

  .jp-Notebook-footer:focus,
  .jp-Notebook-footer:hover {
    opacity: 1;
  }
}

/*-----------------------------------------------------------------------------
| Copyright (c) Jupyter Development Team.
| Distributed under the terms of the Modified BSD License.
|----------------------------------------------------------------------------*/

/*-----------------------------------------------------------------------------
| Imports
|----------------------------------------------------------------------------*/

/*-----------------------------------------------------------------------------
| CSS variables
|----------------------------------------------------------------------------*/

:root {
  --jp-side-by-side-output-size: 1fr;
  --jp-side-by-side-resized-cell: var(--jp-side-by-side-output-size);
  --jp-private-notebook-dragImage-width: 304px;
  --jp-private-notebook-dragImage-height: 36px;
  --jp-private-notebook-selected-color: var(--md-blue-400);
  --jp-private-notebook-active-color: var(--md-green-400);
}

/*-----------------------------------------------------------------------------
| Notebook
|----------------------------------------------------------------------------*/

/* stylelint-disable selector-max-class */

.jp-NotebookPanel {
  display: block;
  height: 100%;
}

.jp-NotebookPanel.jp-Document {
  min-width: 240px;
  min-height: 120px;
}

.jp-Notebook {
  padding: var(--jp-notebook-padding);
  outline: none;
  overflow: auto;
  background: var(--jp-layout-color0);
}

.jp-Notebook.jp-mod-scrollPastEnd::after {
  display: block;
  content: '';
  min-height: var(--jp-notebook-scroll-padding);
}

.jp-MainAreaWidget-ContainStrict .jp-Notebook * {
  contain: strict;
}

.jp-Notebook .jp-Cell {
  overflow: visible;
}

.jp-Notebook .jp-Cell .jp-InputPrompt {
  cursor: move;
}

/*-----------------------------------------------------------------------------
| Notebook state related styling
|
| The notebook and cells each have states, here are the possibilities:
|
| - Notebook
|   - Command
|   - Edit
| - Cell
|   - None
|   - Active (only one can be active)
|   - Selected (the cells actions are applied to)
|   - Multiselected (when multiple selected, the cursor)
|   - No outputs
|----------------------------------------------------------------------------*/

/* Command or edit modes */

.jp-Notebook .jp-Cell:not(.jp-mod-active) .jp-InputPrompt {
  opacity: var(--jp-cell-prompt-not-active-opacity);
  color: var(--jp-cell-prompt-not-active-font-color);
}

.jp-Notebook .jp-Cell:not(.jp-mod-active) .jp-OutputPrompt {
  opacity: var(--jp-cell-prompt-not-active-opacity);
  color: var(--jp-cell-prompt-not-active-font-color);
}

/* cell is active */
.jp-Notebook .jp-Cell.jp-mod-active .jp-Collapser {
  background: var(--jp-brand-color1);
}

/* cell is dirty */
.jp-Notebook .jp-Cell.jp-mod-dirty .jp-InputPrompt {
  color: var(--jp-warn-color1);
}

.jp-Notebook .jp-Cell.jp-mod-dirty .jp-InputPrompt::before {
  color: var(--jp-warn-color1);
  content: '•';
}

.jp-Notebook .jp-Cell.jp-mod-active.jp-mod-dirty .jp-Collapser {
  background: var(--jp-warn-color1);
}

/* collapser is hovered */
.jp-Notebook .jp-Cell .jp-Collapser:hover {
  box-shadow: var(--jp-elevation-z2);
  background: var(--jp-brand-color1);
  opacity: var(--jp-cell-collapser-not-active-hover-opacity);
}

/* cell is active and collapser is hovered */
.jp-Notebook .jp-Cell.jp-mod-active .jp-Collapser:hover {
  background: var(--jp-brand-color0);
  opacity: 1;
}

/* Command mode */

.jp-Notebook.jp-mod-commandMode .jp-Cell.jp-mod-selected {
  background: var(--jp-notebook-multiselected-color);
}

.jp-Notebook.jp-mod-commandMode
  .jp-Cell.jp-mod-active.jp-mod-selected:not(.jp-mod-multiSelected) {
  background: transparent;
}

/* Edit mode */

.jp-Notebook.jp-mod-editMode .jp-Cell.jp-mod-active .jp-InputArea-editor {
  border: var(--jp-border-width) solid var(--jp-cell-editor-active-border-color);
  box-shadow: var(--jp-input-box-shadow);
  background-color: var(--jp-cell-editor-active-background);
}

/*-----------------------------------------------------------------------------
| Notebook drag and drop
|----------------------------------------------------------------------------*/

.jp-Notebook-cell.jp-mod-dropSource {
  opacity: 0.5;
}

.jp-Notebook-cell.jp-mod-dropTarget,
.jp-Notebook.jp-mod-commandMode
  .jp-Notebook-cell.jp-mod-active.jp-mod-selected.jp-mod-dropTarget {
  border-top-color: var(--jp-private-notebook-selected-color);
  border-top-style: solid;
  border-top-width: 2px;
}

.jp-dragImage {
  display: block;
  flex-direction: row;
  width: var(--jp-private-notebook-dragImage-width);
  height: var(--jp-private-notebook-dragImage-height);
  border: var(--jp-border-width) solid var(--jp-cell-editor-border-color);
  background: var(--jp-cell-editor-background);
  overflow: visible;
}

.jp-dragImage-singlePrompt {
  box-shadow: 2px 2px 4px 0 rgba(0, 0, 0, 0.12);
}

.jp-dragImage .jp-dragImage-content {
  flex: 1 1 auto;
  z-index: 2;
  font-size: var(--jp-code-font-size);
  font-family: var(--jp-code-font-family);
  line-height: var(--jp-code-line-height);
  padding: var(--jp-code-padding);
  border: var(--jp-border-width) solid var(--jp-cell-editor-border-color);
  background: var(--jp-cell-editor-background-color);
  color: var(--jp-content-font-color3);
  text-align: left;
  margin: 4px 4px 4px 0;
}

.jp-dragImage .jp-dragImage-prompt {
  flex: 0 0 auto;
  min-width: 36px;
  color: var(--jp-cell-inprompt-font-color);
  padding: var(--jp-code-padding);
  padding-left: 12px;
  font-family: var(--jp-cell-prompt-font-family);
  letter-spacing: var(--jp-cell-prompt-letter-spacing);
  line-height: 1.9;
  font-size: var(--jp-code-font-size);
  border: var(--jp-border-width) solid transparent;
}

.jp-dragImage-multipleBack {
  z-index: -1;
  position: absolute;
  height: 32px;
  width: 300px;
  top: 8px;
  left: 8px;
  background: var(--jp-layout-color2);
  border: var(--jp-border-width) solid var(--jp-input-border-color);
  box-shadow: 2px 2px 4px 0 rgba(0, 0, 0, 0.12);
}

/*-----------------------------------------------------------------------------
| Cell toolbar
|----------------------------------------------------------------------------*/

.jp-NotebookTools {
  display: block;
  min-width: var(--jp-sidebar-min-width);
  color: var(--jp-ui-font-color1);
  background: var(--jp-layout-color1);

  /* This is needed so that all font sizing of children done in ems is
    * relative to this base size */
  font-size: var(--jp-ui-font-size1);
  overflow: auto;
}

.jp-ActiveCellTool {
  padding: 12px 0;
  display: flex;
}

.jp-ActiveCellTool-Content {
  flex: 1 1 auto;
}

.jp-ActiveCellTool .jp-ActiveCellTool-CellContent {
  background: var(--jp-cell-editor-background);
  border: var(--jp-border-width) solid var(--jp-cell-editor-border-color);
  border-radius: 0;
  min-height: 29px;
}

.jp-ActiveCellTool .jp-InputPrompt {
  min-width: calc(var(--jp-cell-prompt-width) * 0.75);
}

.jp-ActiveCellTool-CellContent > pre {
  padding: 5px 4px;
  margin: 0;
  white-space: normal;
}

.jp-MetadataEditorTool {
  flex-direction: column;
  padding: 12px 0;
}

.jp-RankedPanel > :not(:first-child) {
  margin-top: 12px;
}

.jp-KeySelector select.jp-mod-styled {
  font-size: var(--jp-ui-font-size1);
  color: var(--jp-ui-font-color0);
  border: var(--jp-border-width) solid var(--jp-border-color1);
}

.jp-KeySelector label,
.jp-MetadataEditorTool label,
.jp-NumberSetter label {
  line-height: 1.4;
}

.jp-NotebookTools .jp-select-wrapper {
  margin-top: 4px;
  margin-bottom: 0;
}

.jp-NumberSetter input {
  width: 100%;
  margin-top: 4px;
}

.jp-NotebookTools .jp-Collapse {
  margin-top: 16px;
}

/*-----------------------------------------------------------------------------
| Presentation Mode (.jp-mod-presentationMode)
|----------------------------------------------------------------------------*/

.jp-mod-presentationMode .jp-Notebook {
  --jp-content-font-size1: var(--jp-content-presentation-font-size1);
  --jp-code-font-size: var(--jp-code-presentation-font-size);
}

.jp-mod-presentationMode .jp-Notebook .jp-Cell .jp-InputPrompt,
.jp-mod-presentationMode .jp-Notebook .jp-Cell .jp-OutputPrompt {
  flex: 0 0 110px;
}

/*-----------------------------------------------------------------------------
| Side-by-side Mode (.jp-mod-sideBySide)
|----------------------------------------------------------------------------*/
.jp-mod-sideBySide.jp-Notebook .jp-Notebook-cell {
  margin-top: 3em;
  margin-bottom: 3em;
  margin-left: 5%;
  margin-right: 5%;
}

.jp-mod-sideBySide.jp-Notebook .jp-CodeCell {
  display: grid;
  grid-template-columns: minmax(0, 1fr) min-content minmax(
      0,
      var(--jp-side-by-side-output-size)
    );
  grid-template-rows: auto minmax(0, 1fr) auto;
  grid-template-areas:
    'header header header'
    'input handle output'
    'footer footer footer';
}

.jp-mod-sideBySide.jp-Notebook .jp-CodeCell.jp-mod-resizedCell {
  grid-template-columns: minmax(0, 1fr) min-content minmax(
      0,
      var(--jp-side-by-side-resized-cell)
    );
}

.jp-mod-sideBySide.jp-Notebook .jp-CodeCell .jp-CellHeader {
  grid-area: header;
}

.jp-mod-sideBySide.jp-Notebook .jp-CodeCell .jp-Cell-inputWrapper {
  grid-area: input;
}

.jp-mod-sideBySide.jp-Notebook .jp-CodeCell .jp-Cell-outputWrapper {
  /* overwrite the default margin (no vertical separation needed in side by side move */
  margin-top: 0;
  grid-area: output;
}

.jp-mod-sideBySide.jp-Notebook .jp-CodeCell .jp-CellFooter {
  grid-area: footer;
}

.jp-mod-sideBySide.jp-Notebook .jp-CodeCell .jp-CellResizeHandle {
  grid-area: handle;
  user-select: none;
  display: block;
  height: 100%;
  cursor: ew-resize;
  padding: 0 var(--jp-cell-padding);
}

.jp-mod-sideBySide.jp-Notebook .jp-CodeCell .jp-CellResizeHandle::after {
  content: '';
  display: block;
  background: var(--jp-border-color2);
  height: 100%;
  width: 5px;
}

.jp-mod-sideBySide.jp-Notebook
  .jp-CodeCell.jp-mod-resizedCell
  .jp-CellResizeHandle::after {
  background: var(--jp-border-color0);
}

.jp-CellResizeHandle {
  display: none;
}

/*-----------------------------------------------------------------------------
| Placeholder
|----------------------------------------------------------------------------*/

.jp-Cell-Placeholder {
  padding-left: 55px;
}

.jp-Cell-Placeholder-wrapper {
  background: #fff;
  border: 1px solid;
  border-color: #e5e6e9 #dfe0e4 #d0d1d5;
  border-radius: 4px;
  -webkit-border-radius: 4px;
  margin: 10px 15px;
}

.jp-Cell-Placeholder-wrapper-inner {
  padding: 15px;
  position: relative;
}

.jp-Cell-Placeholder-wrapper-body {
  background-repeat: repeat;
  background-size: 50% auto;
}

.jp-Cell-Placeholder-wrapper-body div {
  background: #f6f7f8;
  background-image: -webkit-linear-gradient(
    left,
    #f6f7f8 0%,
    #edeef1 20%,
    #f6f7f8 40%,
    #f6f7f8 100%
  );
  background-repeat: no-repeat;
  background-size: 800px 104px;
  height: 104px;
  position: absolute;
  right: 15px;
  left: 15px;
  top: 15px;
}

div.jp-Cell-Placeholder-h1 {
  top: 20px;
  height: 20px;
  left: 15px;
  width: 150px;
}

div.jp-Cell-Placeholder-h2 {
  left: 15px;
  top: 50px;
  height: 10px;
  width: 100px;
}

div.jp-Cell-Placeholder-content-1,
div.jp-Cell-Placeholder-content-2,
div.jp-Cell-Placeholder-content-3 {
  left: 15px;
  right: 15px;
  height: 10px;
}

div.jp-Cell-Placeholder-content-1 {
  top: 100px;
}

div.jp-Cell-Placeholder-content-2 {
  top: 120px;
}

div.jp-Cell-Placeholder-content-3 {
  top: 140px;
}

</style>
<style type="text/css">
/*-----------------------------------------------------------------------------
| Copyright (c) Jupyter Development Team.
| Distributed under the terms of the Modified BSD License.
|----------------------------------------------------------------------------*/

/*
The following CSS variables define the main, public API for styling JupyterLab.
These variables should be used by all plugins wherever possible. In other
words, plugins should not define custom colors, sizes, etc unless absolutely
necessary. This enables users to change the visual theme of JupyterLab
by changing these variables.

Many variables appear in an ordered sequence (0,1,2,3). These sequences
are designed to work well together, so for example, `--jp-border-color1` should
be used with `--jp-layout-color1`. The numbers have the following meanings:

* 0: super-primary, reserved for special emphasis
* 1: primary, most important under normal situations
* 2: secondary, next most important under normal situations
* 3: tertiary, next most important under normal situations

Throughout JupyterLab, we are mostly following principles from Google's
Material Design when selecting colors. We are not, however, following
all of MD as it is not optimized for dense, information rich UIs.
*/

:root {
  /* Elevation
   *
   * We style box-shadows using Material Design's idea of elevation. These particular numbers are taken from here:
   *
   * https://github.com/material-components/material-components-web
   * https://material-components-web.appspot.com/elevation.html
   */

  --jp-shadow-base-lightness: 0;
  --jp-shadow-umbra-color: rgba(
    var(--jp-shadow-base-lightness),
    var(--jp-shadow-base-lightness),
    var(--jp-shadow-base-lightness),
    0.2
  );
  --jp-shadow-penumbra-color: rgba(
    var(--jp-shadow-base-lightness),
    var(--jp-shadow-base-lightness),
    var(--jp-shadow-base-lightness),
    0.14
  );
  --jp-shadow-ambient-color: rgba(
    var(--jp-shadow-base-lightness),
    var(--jp-shadow-base-lightness),
    var(--jp-shadow-base-lightness),
    0.12
  );
  --jp-elevation-z0: none;
  --jp-elevation-z1: 0 2px 1px -1px var(--jp-shadow-umbra-color),
    0 1px 1px 0 var(--jp-shadow-penumbra-color),
    0 1px 3px 0 var(--jp-shadow-ambient-color);
  --jp-elevation-z2: 0 3px 1px -2px var(--jp-shadow-umbra-color),
    0 2px 2px 0 var(--jp-shadow-penumbra-color),
    0 1px 5px 0 var(--jp-shadow-ambient-color);
  --jp-elevation-z4: 0 2px 4px -1px var(--jp-shadow-umbra-color),
    0 4px 5px 0 var(--jp-shadow-penumbra-color),
    0 1px 10px 0 var(--jp-shadow-ambient-color);
  --jp-elevation-z6: 0 3px 5px -1px var(--jp-shadow-umbra-color),
    0 6px 10px 0 var(--jp-shadow-penumbra-color),
    0 1px 18px 0 var(--jp-shadow-ambient-color);
  --jp-elevation-z8: 0 5px 5px -3px var(--jp-shadow-umbra-color),
    0 8px 10px 1px var(--jp-shadow-penumbra-color),
    0 3px 14px 2px var(--jp-shadow-ambient-color);
  --jp-elevation-z12: 0 7px 8px -4px var(--jp-shadow-umbra-color),
    0 12px 17px 2px var(--jp-shadow-penumbra-color),
    0 5px 22px 4px var(--jp-shadow-ambient-color);
  --jp-elevation-z16: 0 8px 10px -5px var(--jp-shadow-umbra-color),
    0 16px 24px 2px var(--jp-shadow-penumbra-color),
    0 6px 30px 5px var(--jp-shadow-ambient-color);
  --jp-elevation-z20: 0 10px 13px -6px var(--jp-shadow-umbra-color),
    0 20px 31px 3px var(--jp-shadow-penumbra-color),
    0 8px 38px 7px var(--jp-shadow-ambient-color);
  --jp-elevation-z24: 0 11px 15px -7px var(--jp-shadow-umbra-color),
    0 24px 38px 3px var(--jp-shadow-penumbra-color),
    0 9px 46px 8px var(--jp-shadow-ambient-color);

  /* Borders
   *
   * The following variables, specify the visual styling of borders in JupyterLab.
   */

  --jp-border-width: 1px;
  --jp-border-color0: var(--md-grey-400);
  --jp-border-color1: var(--md-grey-400);
  --jp-border-color2: var(--md-grey-300);
  --jp-border-color3: var(--md-grey-200);
  --jp-inverse-border-color: var(--md-grey-600);
  --jp-border-radius: 2px;

  /* UI Fonts
   *
   * The UI font CSS variables are used for the typography all of the JupyterLab
   * user interface elements that are not directly user generated content.
   *
   * The font sizing here is done assuming that the body font size of --jp-ui-font-size1
   * is applied to a parent element. When children elements, such as headings, are sized
   * in em all things will be computed relative to that body size.
   */

  --jp-ui-font-scale-factor: 1.2;
  --jp-ui-font-size0: 0.83333em;
  --jp-ui-font-size1: 13px; /* Base font size */
  --jp-ui-font-size2: 1.2em;
  --jp-ui-font-size3: 1.44em;
  --jp-ui-font-family: system-ui, -apple-system, blinkmacsystemfont, 'Segoe UI',
    helvetica, arial, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji',
    'Segoe UI Symbol';

  /*
   * Use these font colors against the corresponding main layout colors.
   * In a light theme, these go from dark to light.
   */

  /* Defaults use Material Design specification */
  --jp-ui-font-color0: rgba(0, 0, 0, 1);
  --jp-ui-font-color1: rgba(0, 0, 0, 0.87);
  --jp-ui-font-color2: rgba(0, 0, 0, 0.54);
  --jp-ui-font-color3: rgba(0, 0, 0, 0.38);

  /*
   * Use these against the brand/accent/warn/error colors.
   * These will typically go from light to darker, in both a dark and light theme.
   */

  --jp-ui-inverse-font-color0: rgba(255, 255, 255, 1);
  --jp-ui-inverse-font-color1: rgba(255, 255, 255, 1);
  --jp-ui-inverse-font-color2: rgba(255, 255, 255, 0.7);
  --jp-ui-inverse-font-color3: rgba(255, 255, 255, 0.5);

  /* Content Fonts
   *
   * Content font variables are used for typography of user generated content.
   *
   * The font sizing here is done assuming that the body font size of --jp-content-font-size1
   * is applied to a parent element. When children elements, such as headings, are sized
   * in em all things will be computed relative to that body size.
   */

  --jp-content-line-height: 1.6;
  --jp-content-font-scale-factor: 1.2;
  --jp-content-font-size0: 0.83333em;
  --jp-content-font-size1: 14px; /* Base font size */
  --jp-content-font-size2: 1.2em;
  --jp-content-font-size3: 1.44em;
  --jp-content-font-size4: 1.728em;
  --jp-content-font-size5: 2.0736em;

  /* This gives a magnification of about 125% in presentation mode over normal. */
  --jp-content-presentation-font-size1: 17px;
  --jp-content-heading-line-height: 1;
  --jp-content-heading-margin-top: 1.2em;
  --jp-content-heading-margin-bottom: 0.8em;
  --jp-content-heading-font-weight: 500;

  /* Defaults use Material Design specification */
  --jp-content-font-color0: rgba(0, 0, 0, 1);
  --jp-content-font-color1: rgba(0, 0, 0, 0.87);
  --jp-content-font-color2: rgba(0, 0, 0, 0.54);
  --jp-content-font-color3: rgba(0, 0, 0, 0.38);
  --jp-content-link-color: var(--md-blue-900);
  --jp-content-font-family: system-ui, -apple-system, blinkmacsystemfont,
    'Segoe UI', helvetica, arial, sans-serif, 'Apple Color Emoji',
    'Segoe UI Emoji', 'Segoe UI Symbol';

  /*
   * Code Fonts
   *
   * Code font variables are used for typography of code and other monospaces content.
   */

  --jp-code-font-size: 13px;
  --jp-code-line-height: 1.3077; /* 17px for 13px base */
  --jp-code-padding: 5px; /* 5px for 13px base, codemirror highlighting needs integer px value */
  --jp-code-font-family-default: menlo, consolas, 'DejaVu Sans Mono', monospace;
  --jp-code-font-family: var(--jp-code-font-family-default);

  /* This gives a magnification of about 125% in presentation mode over normal. */
  --jp-code-presentation-font-size: 16px;

  /* may need to tweak cursor width if you change font size */
  --jp-code-cursor-width0: 1.4px;
  --jp-code-cursor-width1: 2px;
  --jp-code-cursor-width2: 4px;

  /* Layout
   *
   * The following are the main layout colors use in JupyterLab. In a light
   * theme these would go from light to dark.
   */

  --jp-layout-color0: white;
  --jp-layout-color1: white;
  --jp-layout-color2: var(--md-grey-200);
  --jp-layout-color3: var(--md-grey-400);
  --jp-layout-color4: var(--md-grey-600);

  /* Inverse Layout
   *
   * The following are the inverse layout colors use in JupyterLab. In a light
   * theme these would go from dark to light.
   */

  --jp-inverse-layout-color0: #111;
  --jp-inverse-layout-color1: var(--md-grey-900);
  --jp-inverse-layout-color2: var(--md-grey-800);
  --jp-inverse-layout-color3: var(--md-grey-700);
  --jp-inverse-layout-color4: var(--md-grey-600);

  /* Brand/accent */

  --jp-brand-color0: var(--md-blue-900);
  --jp-brand-color1: var(--md-blue-700);
  --jp-brand-color2: var(--md-blue-300);
  --jp-brand-color3: var(--md-blue-100);
  --jp-brand-color4: var(--md-blue-50);
  --jp-accent-color0: var(--md-green-900);
  --jp-accent-color1: var(--md-green-700);
  --jp-accent-color2: var(--md-green-300);
  --jp-accent-color3: var(--md-green-100);

  /* State colors (warn, error, success, info) */

  --jp-warn-color0: var(--md-orange-900);
  --jp-warn-color1: var(--md-orange-700);
  --jp-warn-color2: var(--md-orange-300);
  --jp-warn-color3: var(--md-orange-100);
  --jp-error-color0: var(--md-red-900);
  --jp-error-color1: var(--md-red-700);
  --jp-error-color2: var(--md-red-300);
  --jp-error-color3: var(--md-red-100);
  --jp-success-color0: var(--md-green-900);
  --jp-success-color1: var(--md-green-700);
  --jp-success-color2: var(--md-green-300);
  --jp-success-color3: var(--md-green-100);
  --jp-info-color0: var(--md-cyan-900);
  --jp-info-color1: var(--md-cyan-700);
  --jp-info-color2: var(--md-cyan-300);
  --jp-info-color3: var(--md-cyan-100);

  /* Cell specific styles */

  --jp-cell-padding: 5px;
  --jp-cell-collapser-width: 8px;
  --jp-cell-collapser-min-height: 20px;
  --jp-cell-collapser-not-active-hover-opacity: 0.6;
  --jp-cell-editor-background: var(--md-grey-100);
  --jp-cell-editor-border-color: var(--md-grey-300);
  --jp-cell-editor-box-shadow: inset 0 0 2px var(--md-blue-300);
  --jp-cell-editor-active-background: var(--jp-layout-color0);
  --jp-cell-editor-active-border-color: var(--jp-brand-color1);
  --jp-cell-prompt-width: 64px;
  --jp-cell-prompt-font-family: var(--jp-code-font-family-default);
  --jp-cell-prompt-letter-spacing: 0;
  --jp-cell-prompt-opacity: 1;
  --jp-cell-prompt-not-active-opacity: 0.5;
  --jp-cell-prompt-not-active-font-color: var(--md-grey-700);

  /* A custom blend of MD grey and blue 600
   * See https://meyerweb.com/eric/tools/color-blend/#546E7A:1E88E5:5:hex */
  --jp-cell-inprompt-font-color: #307fc1;

  /* A custom blend of MD grey and orange 600
   * https://meyerweb.com/eric/tools/color-blend/#546E7A:F4511E:5:hex */
  --jp-cell-outprompt-font-color: #bf5b3d;

  /* Notebook specific styles */

  --jp-notebook-padding: 10px;
  --jp-notebook-select-background: var(--jp-layout-color1);
  --jp-notebook-multiselected-color: var(--md-blue-50);

  /* The scroll padding is calculated to fill enough space at the bottom of the
  notebook to show one single-line cell (with appropriate padding) at the top
  when the notebook is scrolled all the way to the bottom. We also subtract one
  pixel so that no scrollbar appears if we have just one single-line cell in the
  notebook. This padding is to enable a 'scroll past end' feature in a notebook.
  */
  --jp-notebook-scroll-padding: calc(
    100% - var(--jp-code-font-size) * var(--jp-code-line-height) -
      var(--jp-code-padding) - var(--jp-cell-padding) - 1px
  );

  /* Rendermime styles */

  --jp-rendermime-error-background: #fdd;
  --jp-rendermime-table-row-background: var(--md-grey-100);
  --jp-rendermime-table-row-hover-background: var(--md-light-blue-50);

  /* Dialog specific styles */

  --jp-dialog-background: rgba(0, 0, 0, 0.25);

  /* Console specific styles */

  --jp-console-padding: 10px;

  /* Toolbar specific styles */

  --jp-toolbar-border-color: var(--jp-border-color1);
  --jp-toolbar-micro-height: 8px;
  --jp-toolbar-background: var(--jp-layout-color1);
  --jp-toolbar-box-shadow: 0 0 2px 0 rgba(0, 0, 0, 0.24);
  --jp-toolbar-header-margin: 4px 4px 0 4px;
  --jp-toolbar-active-background: var(--md-grey-300);

  /* Statusbar specific styles */

  --jp-statusbar-height: 24px;

  /* Input field styles */

  --jp-input-box-shadow: inset 0 0 2px var(--md-blue-300);
  --jp-input-active-background: var(--jp-layout-color1);
  --jp-input-hover-background: var(--jp-layout-color1);
  --jp-input-background: var(--md-grey-100);
  --jp-input-border-color: var(--jp-inverse-border-color);
  --jp-input-active-border-color: var(--jp-brand-color1);
  --jp-input-active-box-shadow-color: rgba(19, 124, 189, 0.3);

  /* General editor styles */

  --jp-editor-selected-background: #d9d9d9;
  --jp-editor-selected-focused-background: #d7d4f0;
  --jp-editor-cursor-color: var(--jp-ui-font-color0);

  /* Code mirror specific styles */

  --jp-mirror-editor-keyword-color: #008000;
  --jp-mirror-editor-atom-color: #88f;
  --jp-mirror-editor-number-color: #080;
  --jp-mirror-editor-def-color: #00f;
  --jp-mirror-editor-variable-color: var(--md-grey-900);
  --jp-mirror-editor-variable-2-color: rgb(0, 54, 109);
  --jp-mirror-editor-variable-3-color: #085;
  --jp-mirror-editor-punctuation-color: #05a;
  --jp-mirror-editor-property-color: #05a;
  --jp-mirror-editor-operator-color: #a2f;
  --jp-mirror-editor-comment-color: #408080;
  --jp-mirror-editor-string-color: #ba2121;
  --jp-mirror-editor-string-2-color: #708;
  --jp-mirror-editor-meta-color: #a2f;
  --jp-mirror-editor-qualifier-color: #555;
  --jp-mirror-editor-builtin-color: #008000;
  --jp-mirror-editor-bracket-color: #997;
  --jp-mirror-editor-tag-color: #170;
  --jp-mirror-editor-attribute-color: #00c;
  --jp-mirror-editor-header-color: blue;
  --jp-mirror-editor-quote-color: #090;
  --jp-mirror-editor-link-color: #00c;
  --jp-mirror-editor-error-color: #f00;
  --jp-mirror-editor-hr-color: #999;

  /*
    RTC user specific colors.
    These colors are used for the cursor, username in the editor,
    and the icon of the user.
  */

  --jp-collaborator-color1: #ffad8e;
  --jp-collaborator-color2: #dac83d;
  --jp-collaborator-color3: #72dd76;
  --jp-collaborator-color4: #00e4d0;
  --jp-collaborator-color5: #45d4ff;
  --jp-collaborator-color6: #e2b1ff;
  --jp-collaborator-color7: #ff9de6;

  /* Vega extension styles */

  --jp-vega-background: white;

  /* Sidebar-related styles */

  --jp-sidebar-min-width: 250px;

  /* Search-related styles */

  --jp-search-toggle-off-opacity: 0.5;
  --jp-search-toggle-hover-opacity: 0.8;
  --jp-search-toggle-on-opacity: 1;
  --jp-search-selected-match-background-color: rgb(245, 200, 0);
  --jp-search-selected-match-color: black;
  --jp-search-unselected-match-background-color: var(
    --jp-inverse-layout-color0
  );
  --jp-search-unselected-match-color: var(--jp-ui-inverse-font-color0);

  /* Icon colors that work well with light or dark backgrounds */
  --jp-icon-contrast-color0: var(--md-purple-600);
  --jp-icon-contrast-color1: var(--md-green-600);
  --jp-icon-contrast-color2: var(--md-pink-600);
  --jp-icon-contrast-color3: var(--md-blue-600);

  /* Button colors */
  --jp-accept-color-normal: var(--md-blue-700);
  --jp-accept-color-hover: var(--md-blue-800);
  --jp-accept-color-active: var(--md-blue-900);
  --jp-warn-color-normal: var(--md-red-700);
  --jp-warn-color-hover: var(--md-red-800);
  --jp-warn-color-active: var(--md-red-900);
  --jp-reject-color-normal: var(--md-grey-600);
  --jp-reject-color-hover: var(--md-grey-700);
  --jp-reject-color-active: var(--md-grey-800);

  /* File or activity icons and switch semantic variables */
  --jp-jupyter-icon-color: #f37626;
  --jp-notebook-icon-color: #f37626;
  --jp-json-icon-color: var(--md-orange-700);
  --jp-console-icon-background-color: var(--md-blue-700);
  --jp-console-icon-color: white;
  --jp-terminal-icon-background-color: var(--md-grey-800);
  --jp-terminal-icon-color: var(--md-grey-200);
  --jp-text-editor-icon-color: var(--md-grey-700);
  --jp-inspector-icon-color: var(--md-grey-700);
  --jp-switch-color: var(--md-grey-400);
  --jp-switch-true-position-color: var(--md-orange-900);
}
</style>
<style type="text/css">
/* Force rendering true colors when outputing to pdf */
* {
  -webkit-print-color-adjust: exact;
}

/* Misc */
a.anchor-link {
  display: none;
}

/* Input area styling */
.jp-InputArea {
  overflow: hidden;
}

.jp-InputArea-editor {
  overflow: hidden;
}

.cm-editor.cm-s-jupyter .highlight pre {
/* weird, but --jp-code-padding defined to be 5px but 4px horizontal padding is hardcoded for pre.cm-line */
  padding: var(--jp-code-padding) 4px;
  margin: 0;

  font-family: inherit;
  font-size: inherit;
  line-height: inherit;
  color: inherit;

}

.jp-OutputArea-output pre {
  line-height: inherit;
  font-family: inherit;
}

.jp-RenderedText pre {
  color: var(--jp-content-font-color1);
  font-size: var(--jp-code-font-size);
}

/* Hiding the collapser by default */
.jp-Collapser {
  display: none;
}

@page {
    margin: 0.5in; /* Margin for each printed piece of paper */
}

@media print {
  .jp-Cell-inputWrapper,
  .jp-Cell-outputWrapper {
    display: block;
  }
}
</style>
<!-- Load mathjax -->
<script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.7/latest.js?config=TeX-AMS_CHTML-full,Safe"> </script>
<!-- MathJax configuration -->
<script type="text/x-mathjax-config">
    init_mathjax = function() {
        if (window.MathJax) {
        // MathJax loaded
            MathJax.Hub.Config({
                TeX: {
                    equationNumbers: {
                    autoNumber: "AMS",
                    useLabelIds: true
                    }
                },
                tex2jax: {
                    inlineMath: [ ['$','$'], ["\\(","\\)"] ],
                    displayMath: [ ['$$','$$'], ["\\[","\\]"] ],
                    processEscapes: true,
                    processEnvironments: true
                },
                displayAlign: 'center',
                CommonHTML: {
                    linebreaks: {
                    automatic: true
                    }
                }
            });

            MathJax.Hub.Queue(["Typeset", MathJax.Hub]);
        }
    }
    init_mathjax();
    </script>
<!-- End of mathjax configuration --><script type="module">
  document.addEventListener("DOMContentLoaded", async () => {
    const diagrams = document.querySelectorAll(".jp-Mermaid > pre.mermaid");
    // do not load mermaidjs if not needed
    if (!diagrams.length) {
      return;
    }
    const mermaid = (await import("https://cdnjs.cloudflare.com/ajax/libs/mermaid/10.6.0/mermaid.esm.min.mjs")).default;
    const parser = new DOMParser();

    mermaid.initialize({
      maxTextSize: 100000,
      startOnLoad: false,
      fontFamily: window
        .getComputedStyle(document.body)
        .getPropertyValue("--jp-ui-font-family"),
      theme: document.querySelector("body[data-jp-theme-light='true']")
        ? "default"
        : "dark",
    });

    let _nextMermaidId = 0;

    function makeMermaidImage(svg) {
      const img = document.createElement("img");
      const doc = parser.parseFromString(svg, "image/svg+xml");
      const svgEl = doc.querySelector("svg");
      const { maxWidth } = svgEl?.style || {};
      const firstTitle = doc.querySelector("title");
      const firstDesc = doc.querySelector("desc");

      img.setAttribute("src", `data:image/svg+xml,${encodeURIComponent(svg)}`);
      if (maxWidth) {
        img.width = parseInt(maxWidth);
      }
      if (firstTitle) {
        img.setAttribute("alt", firstTitle.textContent);
      }
      if (firstDesc) {
        const caption = document.createElement("figcaption");
        caption.className = "sr-only";
        caption.textContent = firstDesc.textContent;
        return [img, caption];
      }
      return [img];
    }

    async function makeMermaidError(text) {
      let errorMessage = "";
      try {
        await mermaid.parse(text);
      } catch (err) {
        errorMessage = `${err}`;
      }

      const result = document.createElement("details");
      result.className = 'jp-RenderedMermaid-Details';
      const summary = document.createElement("summary");
      summary.className = 'jp-RenderedMermaid-Summary';
      const pre = document.createElement("pre");
      const code = document.createElement("code");
      code.innerText = text;
      pre.appendChild(code);
      summary.appendChild(pre);
      result.appendChild(summary);

      const warning = document.createElement("pre");
      warning.innerText = errorMessage;
      result.appendChild(warning);
      return [result];
    }

    async function renderOneMarmaid(src) {
      const id = `jp-mermaid-${_nextMermaidId++}`;
      const parent = src.parentNode;
      let raw = src.textContent.trim();
      const el = document.createElement("div");
      el.style.visibility = "hidden";
      document.body.appendChild(el);
      let results = null;
      let output = null;
      try {
        const { svg } = await mermaid.render(id, raw, el);
        results = makeMermaidImage(svg);
        output = document.createElement("figure");
        results.map(output.appendChild, output);
      } catch (err) {
        parent.classList.add("jp-mod-warning");
        results = await makeMermaidError(raw);
        output = results[0];
      } finally {
        el.remove();
      }
      parent.classList.add("jp-RenderedMermaid");
      parent.appendChild(output);
    }

    void Promise.all([...diagrams].map(renderOneMarmaid));
  });
</script>
<style>
  .jp-Mermaid:not(.jp-RenderedMermaid) {
    display: none;
  }

  .jp-RenderedMermaid {
    overflow: auto;
    display: flex;
  }

  .jp-RenderedMermaid.jp-mod-warning {
    width: auto;
    padding: 0.5em;
    margin-top: 0.5em;
    border: var(--jp-border-width) solid var(--jp-warn-color2);
    border-radius: var(--jp-border-radius);
    color: var(--jp-ui-font-color1);
    font-size: var(--jp-ui-font-size1);
    white-space: pre-wrap;
    word-wrap: break-word;
  }

  .jp-RenderedMermaid figure {
    margin: 0;
    overflow: auto;
    max-width: 100%;
  }

  .jp-RenderedMermaid img {
    max-width: 100%;
  }

  .jp-RenderedMermaid-Details > pre {
    margin-top: 1em;
  }

  .jp-RenderedMermaid-Summary {
    color: var(--jp-warn-color2);
  }

  .jp-RenderedMermaid:not(.jp-mod-warning) pre {
    display: none;
  }

  .jp-RenderedMermaid-Summary > pre {
    display: inline-block;
    white-space: normal;
  }
</style>
<!-- End of mermaid configuration --></head>
<body class="jp-Notebook" data-jp-theme-light="true" data-jp-theme-name="JupyterLab Light">
<main>
<div class="jp-Cell jp-MarkdownCell jp-Notebook-cell" id="cell-id=fbcebf39-33d4-46d8-aa56-76e6a8f87a12">
<div class="jp-Cell-inputWrapper" tabindex="0">
<div class="jp-Collapser jp-InputCollapser jp-Cell-inputCollapser">
</div>
<div class="jp-InputArea jp-Cell-inputArea"><div class="jp-InputPrompt jp-InputArea-prompt">
</div><div class="jp-RenderedHTMLCommon jp-RenderedMarkdown jp-MarkdownOutput" data-mime-type="text/markdown">
<h1 id="%E7%AC%AC%E4%B8%80%E4%B8%AA%E7%BD%91%E7%AB%99">第一个网站<a class="anchor-link" href="#%E7%AC%AC%E4%B8%80%E4%B8%AA%E7%BD%91%E7%AB%99">¶</a></h1>
</div>
</div>
</div>
</div><div class="jp-Cell jp-CodeCell jp-Notebook-cell jp-mod-noOutputs" id="cell-id=470eabec-e622-45f4-9b61-313b493dc861">
<div class="jp-Cell-inputWrapper" tabindex="0">
<div class="jp-Collapser jp-InputCollapser jp-Cell-inputCollapser">
</div>
<div class="jp-InputArea jp-Cell-inputArea">
<div class="jp-InputPrompt jp-InputArea-prompt">In [45]:</div>
<div class="jp-CodeMirrorEditor jp-Editor jp-InputArea-editor" data-type="inline">
<div class="cm-editor cm-s-jupyter">
<div class="highlight hl-ipython3"><pre><span></span><span class="c1">#导入必要的库</span>
<span class="kn">import</span> <span class="nn">requests</span>
<span class="kn">from</span> <span class="nn">bs4</span> <span class="kn">import</span> <span class="n">BeautifulSoup</span>
<span class="kn">import</span> <span class="nn">pandas</span> <span class="k">as</span> <span class="nn">pd</span> 
<span class="k">def</span> <span class="nf">getHtmlText</span><span class="p">(</span><span class="n">url</span><span class="p">,</span><span class="n">user_agent</span><span class="p">):</span> 
    <span class="k">try</span><span class="p">:</span>
        <span class="c1">#发送请求</span>
        <span class="n">r</span> <span class="o">=</span> <span class="n">requests</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="n">url</span><span class="p">,</span><span class="n">headers</span> <span class="o">=</span> <span class="p">{</span><span class="s1">'User-Agent'</span><span class="p">:</span><span class="n">user_agent</span><span class="p">},</span><span class="n">timeout</span><span class="o">=</span><span class="mi">30</span><span class="p">)</span>
        <span class="n">r</span><span class="o">.</span><span class="n">raise_for_status</span><span class="p">()</span><span class="c1">#检验错误</span>
        <span class="n">r</span><span class="o">.</span><span class="n">encoding</span> <span class="o">=</span> <span class="s1">'utf-8'</span>
        <span class="k">return</span> <span class="n">r</span><span class="o">.</span><span class="n">text</span><span class="c1">#返回文本</span>
    <span class="k">except</span><span class="p">:</span>
        <span class="k">return</span> <span class="s2">""</span><span class="c1">#如果发生异常，则返回空字符</span>
</pre></div>
</div>
</div>
</div>
</div>
</div><div class="jp-Cell jp-CodeCell jp-Notebook-cell" id="cell-id=66e224d7-320d-489c-8d9e-0d2de1f8dfb1">
<div class="jp-Cell-inputWrapper" tabindex="0">
<div class="jp-Collapser jp-InputCollapser jp-Cell-inputCollapser">
</div>
<div class="jp-InputArea jp-Cell-inputArea">
<div class="jp-InputPrompt jp-InputArea-prompt">In [46]:</div>
<div class="jp-CodeMirrorEditor jp-Editor jp-InputArea-editor" data-type="inline">
<div class="cm-editor cm-s-jupyter">
<div class="highlight hl-ipython3"><pre><span></span><span class="c1">#获取网页内容并检查数据类型</span>
<span class="n">url</span><span class="o">=</span><span class="s2">"https://sci.upc.edu.cn/2016/0927/c6776a98095/page.htm"</span>
<span class="n">user_agent</span> <span class="o">=</span> <span class="s2">"Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Firefox/45.0"</span>
<span class="n">r</span> <span class="o">=</span> <span class="n">getHtmlText</span><span class="p">(</span><span class="n">url</span><span class="p">,</span><span class="n">user_agent</span><span class="p">)</span>
<span class="nb">type</span><span class="p">(</span><span class="n">r</span><span class="p">)</span>
</pre></div>
</div>
</div>
</div>
</div>
<div class="jp-Cell-outputWrapper">
<div class="jp-Collapser jp-OutputCollapser jp-Cell-outputCollapser">
</div>
<div class="jp-OutputArea jp-Cell-outputArea">
<div class="jp-OutputArea-child jp-OutputArea-executeResult">
<div class="jp-OutputPrompt jp-OutputArea-prompt">Out[46]:</div>
<div class="jp-RenderedText jp-OutputArea-output jp-OutputArea-executeResult" data-mime-type="text/plain" tabindex="0">
<pre>str</pre>
</div>
</div>
</div>
</div>
</div><div class="jp-Cell jp-CodeCell jp-Notebook-cell" id="cell-id=9181a4aa-9085-41c7-84f9-9c3df7ac4f7b">
<div class="jp-Cell-inputWrapper" tabindex="0">
<div class="jp-Collapser jp-InputCollapser jp-Cell-inputCollapser">
</div>
<div class="jp-InputArea jp-Cell-inputArea">
<div class="jp-InputPrompt jp-InputArea-prompt">In [47]:</div>
<div class="jp-CodeMirrorEditor jp-Editor jp-InputArea-editor" data-type="inline">
<div class="cm-editor cm-s-jupyter">
<div class="highlight hl-ipython3"><pre><span></span><span class="n">r</span>
</pre></div>
</div>
</div>
</div>
</div>
<div class="jp-Cell-outputWrapper">
<div class="jp-Collapser jp-OutputCollapser jp-Cell-outputCollapser">
</div>
<div class="jp-OutputArea jp-Cell-outputArea">
<div class="jp-OutputArea-child jp-OutputArea-executeResult">
<div class="jp-OutputPrompt jp-OutputArea-prompt">Out[47]:</div>
<div class="jp-RenderedText jp-OutputArea-output jp-OutputArea-executeResult" data-mime-type="text/plain" tabindex="0">
<pre>' &lt;!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"&gt;\r\n&lt;html xmlns="http://www.w3.org/1999/xhtml"&gt;\r\n&lt;head&gt;\r\n&lt;meta http-equiv="Content-Type" content="text/html; charset=utf-8"&gt;\r\n&lt;meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" /&gt;\r\n\r\n&lt;title&gt;应用物理学&lt;/title&gt;\r\n&lt;meta name="description" content="一、专业概况  应用物理学专业是物理科学与技术学院最早设置的本科专业，1986年经教育部批准正式招生。从1986年设置应用物理学专业至1999年的14年间，共招收了7届学生，合计152人，我校德高望重的物理教师冯世瑄、戈革、乐光尧、贾瑞皋等参与了专业的建设与教学工作。自2000年起，应用物理学专业建设、课程建设、师资队伍建设等快速发展，专业开始连续招生，近6年来，应用物理学专业招生数量稳定在每年4" /&gt;\r\n\r\n&lt;link type="text/css" href="/_css/_system/system.css" rel="stylesheet"/&gt;\r\n&lt;link type="text/css" href="/_upload/site/1/style/1/1.css" rel="stylesheet"/&gt;\r\n&lt;link type="text/css" href="/_upload/site/00/7a/122/style/6/6.css" rel="stylesheet"/&gt;\r\n&lt;link type="text/css" href="/_js/_portletPlugs/sudyNavi/css/sudyNav.css" rel="stylesheet" /&gt;\r\n\r\n&lt;script language="javascript" src="/_js/jquery.min.js" sudy-wp-context="" sudy-wp-siteId="122"&gt;&lt;/script&gt;\r\n&lt;script language="javascript" src="/_js/jquery.sudy.wp.visitcount.js"&gt;&lt;/script&gt;\r\n&lt;script type="text/javascript" src="/_js/_portletPlugs/sudyNavi/jquery.sudyNav.js"&gt;&lt;/script&gt;\r\n&lt;link href="/_upload/tpl/03/c0/960/template960/style.css" rel="stylesheet" type="text/css"&gt;\r\n&lt;/head&gt;\r\n&lt;body&gt;\r\n&lt;div id="container_page"&gt;\r\n\r\n  &lt;div id="head"&gt;\r\n &lt;table width="100%" border="1" cellspacing="0" cellpadding="0" height="140" background="/_upload/tpl/03/c0/960/template960/images/lxyLOGO.jpg" style=" background-position:bottom;"&gt;\r\n  &lt;tr&gt;\r\n    &lt;td&gt;&lt;div id="search"&gt;&lt;div frag="面板0"&gt;\r\n      \r\n\t  &lt;/div&gt;&lt;/div&gt;&lt;/td&gt;\r\n    &lt;/tr&gt;\r\n&lt;/table&gt;\r\n  &lt;/div&gt;\r\n  &lt;div id="container_content"&gt;\r\n    &lt;table width="100%" border="0" cellspacing="0" cellpadding="0"&gt;\r\n      &lt;tr&gt;\r\n        &lt;td width="20" height="38" background="/_upload/tpl/03/c0/960/template960/images/nav.gif"&gt;&amp;nbsp;&lt;/td&gt;\r\n        &lt;td background="/_upload/tpl/03/c0/960/template960/images/nav.gif" align="center"&gt;\r\n\r\n&lt;div id="menu"&gt;\r\n&lt;div frag="面板1"&gt;\r\n            \r\n            &lt;div frag="窗口1" portletmode="simpleSudyNavi" configs="{\'c1\':\'1\',\'c7\':\'2\',\'c4\':\'_self\',\'c3\':\'6\',\'c6\':\'0\',\'c8\':\'2\',\'c9\':\'0\',\'c2\':\'1\',\'c5\':\'2\'}" contents="{\'c2\':\'0\'}"&gt;\r\n              &lt;div id="wp_nav_w1"&gt; \r\n\r\n \r\n&lt;ul class="wp_nav" data-nav-config="{drop_v: \'down\', drop_w: \'right\', dir: \'y\', opacity_main: \'1\', opacity_sub: \'0.8\', dWidth: \'0\'}"&gt;\r\n      \r\n     &lt;li class="nav-item i1 "&gt; \r\n         &lt;a href="http://sci.upc.edu.cn" title="学院首页" target="_self"&gt;&lt;span class="item-name"&gt;学院首页&lt;/span&gt;&lt;/a&gt;&lt;i class="mark"&gt;&lt;/i&gt; \r\n          \r\n     &lt;/li&gt; \r\n      \r\n     &lt;li class="nav-item i2 "&gt; \r\n         &lt;a href="/6757/list.htm" title="学院概况" target="_self"&gt;&lt;span class="item-name"&gt;学院概况&lt;/span&gt;&lt;/a&gt;&lt;i class="mark"&gt;&lt;/i&gt; \r\n          \r\n         &lt;ul class="sub-nav"&gt; \r\n              \r\n             &lt;li class="nav-item i2-1 "&gt; \r\n                 &lt;a href="/6758/list.htm" title="学院简介" target="_self"&gt;&lt;span class="item-name"&gt;学院简介&lt;/span&gt;&lt;/a&gt;&lt;i class="mark"&gt;&lt;/i&gt; \r\n                  \r\n             &lt;/li&gt; \r\n              \r\n             &lt;li class="nav-item i2-2 "&gt; \r\n                 &lt;a href="/6759/list.htm" title="现任领导" target="_self"&gt;&lt;span class="item-name"&gt;现任领导&lt;/span&gt;&lt;/a&gt;&lt;i class="mark"&gt;&lt;/i&gt; \r\n                  \r\n             &lt;/li&gt; \r\n              \r\n             &lt;li class="nav-item i2-3 "&gt; \r\n                 &lt;a href="/6760/list.htm" title="联系方式" target="_self"&gt;&lt;span class="item-name"&gt;联系方式&lt;/span&gt;&lt;/a&gt;&lt;i class="mark"&gt;&lt;/i&gt; \r\n                  \r\n             &lt;/li&gt; \r\n              \r\n             &lt;li class="nav-item i2-4 "&gt; \r\n                 &lt;a href="/xbzfg/list.htm" title="系班子分工" target="_self"&gt;&lt;span class="item-name"&gt;系班子分工&lt;/span&gt;&lt;/a&gt;&lt;i class="mark"&gt;&lt;/i&gt; \r\n                  \r\n             &lt;/li&gt; \r\n              \r\n             &lt;li class="nav-item i2-5 "&gt; \r\n                 &lt;a href="/20134/list.htm" title="历史沿革" target="_self"&gt;&lt;span class="item-name"&gt;历史沿革&lt;/span&gt;&lt;/a&gt;&lt;i class="mark"&gt;&lt;/i&gt; \r\n                  \r\n             &lt;/li&gt; \r\n              \r\n             &lt;li class="nav-item i2-6 "&gt; \r\n                 &lt;a href="/20135/list.htm" title="学院文化" target="_self"&gt;&lt;span class="item-name"&gt;学院文化&lt;/span&gt;&lt;/a&gt;&lt;i class="mark"&gt;&lt;/i&gt; \r\n                  \r\n             &lt;/li&gt; \r\n              \r\n         &lt;/ul&gt; \r\n          \r\n     &lt;/li&gt; \r\n      \r\n     &lt;li class="nav-item i3 "&gt; \r\n         &lt;a href="/6761/list.htm" title="机构设置" target="_self"&gt;&lt;span class="item-name"&gt;机构设置&lt;/span&gt;&lt;/a&gt;&lt;i class="mark"&gt;&lt;/i&gt; \r\n          \r\n     &lt;/li&gt; \r\n      \r\n     &lt;li class="nav-item i4 "&gt; \r\n         &lt;a href="/6762/list.htm" title="师资队伍" target="_self"&gt;&lt;span class="item-name"&gt;师资队伍&lt;/span&gt;&lt;/a&gt;&lt;i class="mark"&gt;&lt;/i&gt; \r\n          \r\n         &lt;ul class="sub-nav"&gt; \r\n              \r\n             &lt;li class="nav-item i4-1 "&gt; \r\n                 &lt;a href="/6763/list.htm" title="专家学者" target="_self"&gt;&lt;span class="item-name"&gt;专家学者&lt;/span&gt;&lt;/a&gt;&lt;i class="mark"&gt;&lt;/i&gt; \r\n                  \r\n             &lt;/li&gt; \r\n              \r\n             &lt;li class="nav-item i4-2 "&gt; \r\n                 &lt;a href="/6764/list.htm" title="基础数学系" target="_self"&gt;&lt;span class="item-name"&gt;基础数学系&lt;/span&gt;&lt;/a&gt;&lt;i class="mark"&gt;&lt;/i&gt; \r\n                  \r\n             &lt;/li&gt; \r\n              \r\n             &lt;li class="nav-item i4-3 "&gt; \r\n                 &lt;a href="/6765/list.htm" title="计算数学系" target="_self"&gt;&lt;span class="item-name"&gt;计算数学系&lt;/span&gt;&lt;/a&gt;&lt;i class="mark"&gt;&lt;/i&gt; \r\n                  \r\n             &lt;/li&gt; \r\n              \r\n             &lt;li class="nav-item i4-4 "&gt; \r\n                 &lt;a href="/6766/list.htm" title="应用数学系" target="_self"&gt;&lt;span class="item-name"&gt;应用数学系&lt;/span&gt;&lt;/a&gt;&lt;i class="mark"&gt;&lt;/i&gt; \r\n                  \r\n             &lt;/li&gt; \r\n              \r\n             &lt;li class="nav-item i4-5 "&gt; \r\n                 &lt;a href="/sjkxytjx/list.htm" title="数据科学与统计系" target="_self"&gt;&lt;span class="item-name"&gt;数据科学与统计系&lt;/span&gt;&lt;/a&gt;&lt;i class="mark"&gt;&lt;/i&gt; \r\n                  \r\n             &lt;/li&gt; \r\n              \r\n             &lt;li class="nav-item i4-6 "&gt; \r\n                 &lt;a href="/6767/list.htm" title="基础物理系" target="_self"&gt;&lt;span class="item-name"&gt;基础物理系&lt;/span&gt;&lt;/a&gt;&lt;i class="mark"&gt;&lt;/i&gt; \r\n                  \r\n             &lt;/li&gt; \r\n              \r\n             &lt;li class="nav-item i4-7 "&gt; \r\n                 &lt;a href="/yywlx/list.htm" title="应用物理系" target="_self"&gt;&lt;span class="item-name"&gt;应用物理系&lt;/span&gt;&lt;/a&gt;&lt;i class="mark"&gt;&lt;/i&gt; \r\n                  \r\n             &lt;/li&gt; \r\n              \r\n             &lt;li class="nav-item i4-8 "&gt; \r\n                 &lt;a href="/6768/list.htm" title="光电科学与工程系" target="_self"&gt;&lt;span class="item-name"&gt;光电科学与工程系&lt;/span&gt;&lt;/a&gt;&lt;i class="mark"&gt;&lt;/i&gt; \r\n                  \r\n             &lt;/li&gt; \r\n              \r\n             &lt;li class="nav-item i4-9 "&gt; \r\n                 &lt;a href="/6770/list.htm" title="物理实验中心" target="_self"&gt;&lt;span class="item-name"&gt;物理实验中心&lt;/span&gt;&lt;/a&gt;&lt;i class="mark"&gt;&lt;/i&gt; \r\n                  \r\n             &lt;/li&gt; \r\n              \r\n             &lt;li class="nav-item i4-10 "&gt; \r\n                 &lt;a href="/wltcycxjsyjs/list.htm" title="物理探测与成像技术研究所" target="_self"&gt;&lt;span class="item-name"&gt;物理探测与成像技术研...&lt;/span&gt;&lt;/a&gt;&lt;i class="mark"&gt;&lt;/i&gt; \r\n                  \r\n             &lt;/li&gt; \r\n              \r\n             &lt;li class="nav-item i4-11 "&gt; \r\n                 &lt;a href="/llwlyjswlyjs/list.htm" title="理论物理与计算物理研究所" target="_self"&gt;&lt;span class="item-name"&gt;理论物理与计算物理研...&lt;/span&gt;&lt;/a&gt;&lt;i class="mark"&gt;&lt;/i&gt; \r\n                  \r\n             &lt;/li&gt; \r\n              \r\n         &lt;/ul&gt; \r\n          \r\n     &lt;/li&gt; \r\n      \r\n     &lt;li class="nav-item i5 "&gt; \r\n         &lt;a href="/6773/list.htm" title="本科教学" target="_self"&gt;&lt;span class="item-name"&gt;本科教学&lt;/span&gt;&lt;/a&gt;&lt;i class="mark"&gt;&lt;/i&gt; \r\n          \r\n         &lt;ul class="sub-nav"&gt; \r\n              \r\n             &lt;li class="nav-item i5-1 "&gt; \r\n                 &lt;a href="/6774/list.htm" title="教学信息" target="_self"&gt;&lt;span class="item-name"&gt;教学信息&lt;/span&gt;&lt;/a&gt;&lt;i class="mark"&gt;&lt;/i&gt; \r\n                  \r\n             &lt;/li&gt; \r\n              \r\n             &lt;li class="nav-item i5-2 "&gt; \r\n                 &lt;a href="/6775/list.htm" title="教学管理" target="_self"&gt;&lt;span class="item-name"&gt;教学管理&lt;/span&gt;&lt;/a&gt;&lt;i class="mark"&gt;&lt;/i&gt; \r\n                  \r\n             &lt;/li&gt; \r\n              \r\n             &lt;li class="nav-item i5-3 "&gt; \r\n                 &lt;a href="/6776/list.htm" title="专业设置" target="_self"&gt;&lt;span class="item-name"&gt;专业设置&lt;/span&gt;&lt;/a&gt;&lt;i class="mark"&gt;&lt;/i&gt; \r\n                  \r\n             &lt;/li&gt; \r\n              \r\n             &lt;li class="nav-item i5-4 "&gt; \r\n                 &lt;a href="/6777/list.htm" title="毕业设计" target="_self"&gt;&lt;span class="item-name"&gt;毕业设计&lt;/span&gt;&lt;/a&gt;&lt;i class="mark"&gt;&lt;/i&gt; \r\n                  \r\n             &lt;/li&gt; \r\n              \r\n             &lt;li class="nav-item i5-5 "&gt; \r\n                 &lt;a href="/6804/list.htm" title="质量工程" target="_self"&gt;&lt;span class="item-name"&gt;质量工程&lt;/span&gt;&lt;/a&gt;&lt;i class="mark"&gt;&lt;/i&gt; \r\n                  \r\n         &lt;ul class="sub-nav"&gt; \r\n              \r\n             &lt;li class="nav-item i5-5-1 "&gt; \r\n                 &lt;a href="/gjylzy/list.htm" title="国家一流专业" target="_self"&gt;&lt;span class="item-name"&gt;国家一流专业&lt;/span&gt;&lt;/a&gt;&lt;i class="mark"&gt;&lt;/i&gt; \r\n                  \r\n             &lt;/li&gt; \r\n              \r\n             &lt;li class="nav-item i5-5-2 "&gt; \r\n                 &lt;a href="/6805/list.htm" title="国家特色专业" target="_self"&gt;&lt;span class="item-name"&gt;国家特色专业&lt;/span&gt;&lt;/a&gt;&lt;i class="mark"&gt;&lt;/i&gt; \r\n                  \r\n             &lt;/li&gt; \r\n              \r\n             &lt;li class="nav-item i5-5-3 "&gt; \r\n                 &lt;a href="/6806/list.htm" title="国家级网络精品课程" target="_self"&gt;&lt;span class="item-name"&gt;国家级网络精品课程&lt;/span&gt;&lt;/a&gt;&lt;i class="mark"&gt;&lt;/i&gt; \r\n                  \r\n             &lt;/li&gt; \r\n              \r\n             &lt;li class="nav-item i5-5-4 "&gt; \r\n                 &lt;a href="/gjylkc/list.htm" title="国家一流课程" target="_self"&gt;&lt;span class="item-name"&gt;国家一流课程&lt;/span&gt;&lt;/a&gt;&lt;i class="mark"&gt;&lt;/i&gt; \r\n                  \r\n             &lt;/li&gt; \r\n              \r\n             &lt;li class="nav-item i5-5-5 "&gt; \r\n                 &lt;a href="/sdsylzy/list.htm" title="山东省一流专业" target="_self"&gt;&lt;span class="item-name"&gt;山东省一流专业&lt;/span&gt;&lt;/a&gt;&lt;i class="mark"&gt;&lt;/i&gt; \r\n                  \r\n             &lt;/li&gt; \r\n              \r\n             &lt;li class="nav-item i5-5-6 "&gt; \r\n                 &lt;a href="/sjylkc/list.htm" title="省级一流课程" target="_self"&gt;&lt;span class="item-name"&gt;省级一流课程&lt;/span&gt;&lt;/a&gt;&lt;i class="mark"&gt;&lt;/i&gt; \r\n                  \r\n             &lt;/li&gt; \r\n              \r\n             &lt;li class="nav-item i5-5-7 "&gt; \r\n                 &lt;a href="/sjyljc/list.htm" title="省级一流教材" target="_self"&gt;&lt;span class="item-name"&gt;省级一流教材&lt;/span&gt;&lt;/a&gt;&lt;i class="mark"&gt;&lt;/i&gt; \r\n                  \r\n             &lt;/li&gt; \r\n              \r\n             &lt;li class="nav-item i5-5-8 "&gt; \r\n                 &lt;a href="/6808/list.htm" title="山东省实验教学示范中心" target="_self"&gt;&lt;span class="item-name"&gt;山东省实验教学示范中...&lt;/span&gt;&lt;/a&gt;&lt;i class="mark"&gt;&lt;/i&gt; \r\n                  \r\n             &lt;/li&gt; \r\n              \r\n             &lt;li class="nav-item i5-5-9 "&gt; \r\n                 &lt;a href="/6809/list.htm" title="山东省精品课程" target="_self"&gt;&lt;span class="item-name"&gt;山东省精品课程&lt;/span&gt;&lt;/a&gt;&lt;i class="mark"&gt;&lt;/i&gt; \r\n                  \r\n             &lt;/li&gt; \r\n              \r\n             &lt;li class="nav-item i5-5-10 "&gt; \r\n                 &lt;a href="/6810/list.htm" title="校级精品课程" target="_self"&gt;&lt;span class="item-name"&gt;校级精品课程&lt;/span&gt;&lt;/a&gt;&lt;i class="mark"&gt;&lt;/i&gt; \r\n                  \r\n             &lt;/li&gt; \r\n              \r\n             &lt;li class="nav-item i5-5-11 "&gt; \r\n                 &lt;a href="/szkc/list.htm" title="课程思政示范课" target="_self"&gt;&lt;span class="item-name"&gt;课程思政示范课&lt;/span&gt;&lt;/a&gt;&lt;i class="mark"&gt;&lt;/i&gt; \r\n                  \r\n             &lt;/li&gt; \r\n              \r\n             &lt;li class="nav-item i5-5-12 "&gt; \r\n                 &lt;a href="/6811/list.htm" title="教学团队建设" target="_self"&gt;&lt;span class="item-name"&gt;教学团队建设&lt;/span&gt;&lt;/a&gt;&lt;i class="mark"&gt;&lt;/i&gt; \r\n                  \r\n             &lt;/li&gt; \r\n              \r\n             &lt;li class="nav-item i5-5-13 "&gt; \r\n                 &lt;a href="/6807/list.htm" title="大学生创新性实验" target="_self"&gt;&lt;span class="item-name"&gt;大学生创新性实验&lt;/span&gt;&lt;/a&gt;&lt;i class="mark"&gt;&lt;/i&gt; \r\n                  \r\n             &lt;/li&gt; \r\n              \r\n             &lt;li class="nav-item i5-5-14 "&gt; \r\n                 &lt;a href="/6812/list.htm" title="教学名师" target="_self"&gt;&lt;span class="item-name"&gt;教学名师&lt;/span&gt;&lt;/a&gt;&lt;i class="mark"&gt;&lt;/i&gt; \r\n                  \r\n             &lt;/li&gt; \r\n              \r\n             &lt;li class="nav-item i5-5-15 "&gt; \r\n                 &lt;a href="/qtjx/list.htm" title="其他奖项" target="_self"&gt;&lt;span class="item-name"&gt;其他奖项&lt;/span&gt;&lt;/a&gt;&lt;i class="mark"&gt;&lt;/i&gt; \r\n                  \r\n             &lt;/li&gt; \r\n              \r\n         &lt;/ul&gt; \r\n          \r\n             &lt;/li&gt; \r\n              \r\n             &lt;li class="nav-item i5-6 "&gt; \r\n                 &lt;a href="/6813/list.htm" title="教学改革" target="_self"&gt;&lt;span class="item-name"&gt;教学改革&lt;/span&gt;&lt;/a&gt;&lt;i class="mark"&gt;&lt;/i&gt; \r\n                  \r\n         &lt;ul class="sub-nav"&gt; \r\n              \r\n             &lt;li class="nav-item i5-6-1 "&gt; \r\n                 &lt;a href="/6814/list.htm" title="教学成果" target="_self"&gt;&lt;span class="item-name"&gt;教学成果&lt;/span&gt;&lt;/a&gt;&lt;i class="mark"&gt;&lt;/i&gt; \r\n                  \r\n             &lt;/li&gt; \r\n              \r\n             &lt;li class="nav-item i5-6-2 "&gt; \r\n                 &lt;a href="/6815/list.htm" title="教改立项" target="_self"&gt;&lt;span class="item-name"&gt;教改立项&lt;/span&gt;&lt;/a&gt;&lt;i class="mark"&gt;&lt;/i&gt; \r\n                  \r\n             &lt;/li&gt; \r\n              \r\n         &lt;/ul&gt; \r\n          \r\n             &lt;/li&gt; \r\n              \r\n         &lt;/ul&gt; \r\n          \r\n     &lt;/li&gt; \r\n      \r\n     &lt;li class="nav-item i6 "&gt; \r\n         &lt;a href="/6778/list.htm" title="研究生教育" target="_self"&gt;&lt;span class="item-name"&gt;研究生教育&lt;/span&gt;&lt;/a&gt;&lt;i class="mark"&gt;&lt;/i&gt; \r\n          \r\n         &lt;ul class="sub-nav"&gt; \r\n              \r\n             &lt;li class="nav-item i6-1 "&gt; \r\n                 &lt;a href="/tzgg/list.htm" title="通知公告" target="_self"&gt;&lt;span class="item-name"&gt;通知公告&lt;/span&gt;&lt;/a&gt;&lt;i class="mark"&gt;&lt;/i&gt; \r\n                  \r\n             &lt;/li&gt; \r\n              \r\n             &lt;li class="nav-item i6-2 "&gt; \r\n                 &lt;a href="/jxgl/list.htm" title="教学管理" target="_self"&gt;&lt;span class="item-name"&gt;教学管理&lt;/span&gt;&lt;/a&gt;&lt;i class="mark"&gt;&lt;/i&gt; \r\n                  \r\n             &lt;/li&gt; \r\n              \r\n             &lt;li class="nav-item i6-3 "&gt; \r\n                 &lt;a href="/6779/list.htm" title="学位点介绍" target="_self"&gt;&lt;span class="item-name"&gt;学位点介绍&lt;/span&gt;&lt;/a&gt;&lt;i class="mark"&gt;&lt;/i&gt; \r\n                  \r\n             &lt;/li&gt; \r\n              \r\n             &lt;li class="nav-item i6-4 "&gt; \r\n                 &lt;a href="/6780/list.htm" title="导师队伍" target="_self"&gt;&lt;span class="item-name"&gt;导师队伍&lt;/span&gt;&lt;/a&gt;&lt;i class="mark"&gt;&lt;/i&gt; \r\n                  \r\n             &lt;/li&gt; \r\n              \r\n             &lt;li class="nav-item i6-5 "&gt; \r\n                 &lt;a href="/6781/list.htm" title="研究生招生" target="_self"&gt;&lt;span class="item-name"&gt;研究生招生&lt;/span&gt;&lt;/a&gt;&lt;i class="mark"&gt;&lt;/i&gt; \r\n                  \r\n             &lt;/li&gt; \r\n              \r\n             &lt;li class="nav-item i6-6 "&gt; \r\n                 &lt;a href="/6782/list.htm" title="研究生培养" target="_self"&gt;&lt;span class="item-name"&gt;研究生培养&lt;/span&gt;&lt;/a&gt;&lt;i class="mark"&gt;&lt;/i&gt; \r\n                  \r\n             &lt;/li&gt; \r\n              \r\n             &lt;li class="nav-item i6-7 "&gt; \r\n                 &lt;a href="/6783/list.htm" title="研究生学位" target="_self"&gt;&lt;span class="item-name"&gt;研究生学位&lt;/span&gt;&lt;/a&gt;&lt;i class="mark"&gt;&lt;/i&gt; \r\n                  \r\n             &lt;/li&gt; \r\n              \r\n         &lt;/ul&gt; \r\n          \r\n     &lt;/li&gt; \r\n      \r\n     &lt;li class="nav-item i7 "&gt; \r\n         &lt;a href="http://sci.upc.edu.cn:8092/" title="学科科研" target="_self"&gt;&lt;span class="item-name"&gt;学科科研&lt;/span&gt;&lt;/a&gt;&lt;i class="mark"&gt;&lt;/i&gt; \r\n          \r\n         &lt;ul class="sub-nav"&gt; \r\n              \r\n             &lt;li class="nav-item i7-1 "&gt; \r\n                 &lt;a href="/6785/list.htm" title="学科建设" target="_self"&gt;&lt;span class="item-name"&gt;学科建设&lt;/span&gt;&lt;/a&gt;&lt;i class="mark"&gt;&lt;/i&gt; \r\n                  \r\n         &lt;ul class="sub-nav"&gt; \r\n              \r\n             &lt;li class="nav-item i7-1-1 "&gt; \r\n                 &lt;a href="/6786/list.htm" title="学科点介绍" target="_self"&gt;&lt;span class="item-name"&gt;学科点介绍&lt;/span&gt;&lt;/a&gt;&lt;i class="mark"&gt;&lt;/i&gt; \r\n                  \r\n             &lt;/li&gt; \r\n              \r\n             &lt;li class="nav-item i7-1-2 "&gt; \r\n                 &lt;a href="/6787/list.htm" title="省级重点学科" target="_self"&gt;&lt;span class="item-name"&gt;省级重点学科&lt;/span&gt;&lt;/a&gt;&lt;i class="mark"&gt;&lt;/i&gt; \r\n                  \r\n             &lt;/li&gt; \r\n              \r\n         &lt;/ul&gt; \r\n          \r\n             &lt;/li&gt; \r\n              \r\n             &lt;li class="nav-item i7-2 "&gt; \r\n                 &lt;a href="/6790/list.htm" title="科研管理" target="_self"&gt;&lt;span class="item-name"&gt;科研管理&lt;/span&gt;&lt;/a&gt;&lt;i class="mark"&gt;&lt;/i&gt; \r\n                  \r\n         &lt;ul class="sub-nav"&gt; \r\n              \r\n             &lt;li class="nav-item i7-2-1 "&gt; \r\n                 &lt;a href="/6792/list.htm" title="科研服务" target="_self"&gt;&lt;span class="item-name"&gt;科研服务&lt;/span&gt;&lt;/a&gt;&lt;i class="mark"&gt;&lt;/i&gt; \r\n                  \r\n             &lt;/li&gt; \r\n              \r\n         &lt;/ul&gt; \r\n          \r\n             &lt;/li&gt; \r\n              \r\n             &lt;li class="nav-item i7-3 "&gt; \r\n                 &lt;a href="/6800/list.htm" title="平台团队" target="_self"&gt;&lt;span class="item-name"&gt;平台团队&lt;/span&gt;&lt;/a&gt;&lt;i class="mark"&gt;&lt;/i&gt; \r\n                  \r\n         &lt;ul class="sub-nav"&gt; \r\n              \r\n             &lt;li class="nav-item i7-3-1 "&gt; \r\n                 &lt;a href="/6801/list.htm" title="各级实验室" target="_self"&gt;&lt;span class="item-name"&gt;各级实验室&lt;/span&gt;&lt;/a&gt;&lt;i class="mark"&gt;&lt;/i&gt; \r\n                  \r\n             &lt;/li&gt; \r\n              \r\n             &lt;li class="nav-item i7-3-2 "&gt; \r\n                 &lt;a href="/6802/list.htm" title="校级创新团队" target="_self"&gt;&lt;span class="item-name"&gt;校级创新团队&lt;/span&gt;&lt;/a&gt;&lt;i class="mark"&gt;&lt;/i&gt; \r\n                  \r\n             &lt;/li&gt; \r\n              \r\n             &lt;li class="nav-item i7-3-3 "&gt; \r\n                 &lt;a href="/6803/list.htm" title="院级创新团队" target="_self"&gt;&lt;span class="item-name"&gt;院级创新团队&lt;/span&gt;&lt;/a&gt;&lt;i class="mark"&gt;&lt;/i&gt; \r\n                  \r\n             &lt;/li&gt; \r\n              \r\n         &lt;/ul&gt; \r\n          \r\n             &lt;/li&gt; \r\n              \r\n             &lt;li class="nav-item i7-4 "&gt; \r\n                 &lt;a href="/6794/list.htm" title="科研成果" target="_self"&gt;&lt;span class="item-name"&gt;科研成果&lt;/span&gt;&lt;/a&gt;&lt;i class="mark"&gt;&lt;/i&gt; \r\n                  \r\n         &lt;ul class="sub-nav"&gt; \r\n              \r\n             &lt;li class="nav-item i7-4-1 "&gt; \r\n                 &lt;a href="/6795/list.htm" title="发表文章" target="_self"&gt;&lt;span class="item-name"&gt;发表文章&lt;/span&gt;&lt;/a&gt;&lt;i class="mark"&gt;&lt;/i&gt; \r\n                  \r\n             &lt;/li&gt; \r\n              \r\n             &lt;li class="nav-item i7-4-2 "&gt; \r\n                 &lt;a href="/6796/list.htm" title="获批项目" target="_self"&gt;&lt;span class="item-name"&gt;获批项目&lt;/span&gt;&lt;/a&gt;&lt;i class="mark"&gt;&lt;/i&gt; \r\n                  \r\n             &lt;/li&gt; \r\n              \r\n             &lt;li class="nav-item i7-4-3 "&gt; \r\n                 &lt;a href="/6797/list.htm" title="授权专利" target="_self"&gt;&lt;span class="item-name"&gt;授权专利&lt;/span&gt;&lt;/a&gt;&lt;i class="mark"&gt;&lt;/i&gt; \r\n                  \r\n             &lt;/li&gt; \r\n              \r\n             &lt;li class="nav-item i7-4-4 "&gt; \r\n                 &lt;a href="/6798/list.htm" title="上级奖励" target="_self"&gt;&lt;span class="item-name"&gt;上级奖励&lt;/span&gt;&lt;/a&gt;&lt;i class="mark"&gt;&lt;/i&gt; \r\n                  \r\n             &lt;/li&gt; \r\n              \r\n         &lt;/ul&gt; \r\n          \r\n             &lt;/li&gt; \r\n              \r\n             &lt;li class="nav-item i7-5 "&gt; \r\n                 &lt;a href="/6799/list.htm" title="科技政策" target="_self"&gt;&lt;span class="item-name"&gt;科技政策&lt;/span&gt;&lt;/a&gt;&lt;i class="mark"&gt;&lt;/i&gt; \r\n                  \r\n             &lt;/li&gt; \r\n              \r\n         &lt;/ul&gt; \r\n          \r\n     &lt;/li&gt; \r\n      \r\n     &lt;li class="nav-item i8 "&gt; \r\n         &lt;a href="http://student.sci.upc.edu.cn" title="学生工作" target="_self"&gt;&lt;span class="item-name"&gt;学生工作&lt;/span&gt;&lt;/a&gt;&lt;i class="mark"&gt;&lt;/i&gt; \r\n          \r\n     &lt;/li&gt; \r\n      \r\n     &lt;li class="nav-item i9 "&gt; \r\n         &lt;a href="/6816/list.htm" title="党政管理" target="_self"&gt;&lt;span class="item-name"&gt;党政管理&lt;/span&gt;&lt;/a&gt;&lt;i class="mark"&gt;&lt;/i&gt; \r\n          \r\n         &lt;ul class="sub-nav"&gt; \r\n              \r\n             &lt;li class="nav-item i9-1 "&gt; \r\n                 &lt;a href="/6817/list.htm" title="党群工作" target="_self"&gt;&lt;span class="item-name"&gt;党群工作&lt;/span&gt;&lt;/a&gt;&lt;i class="mark"&gt;&lt;/i&gt; \r\n                  \r\n             &lt;/li&gt; \r\n              \r\n             &lt;li class="nav-item i9-2 "&gt; \r\n                 &lt;a href="/6818/list.htm" title="学院文件" target="_self"&gt;&lt;span class="item-name"&gt;学院文件&lt;/span&gt;&lt;/a&gt;&lt;i class="mark"&gt;&lt;/i&gt; \r\n                  \r\n             &lt;/li&gt; \r\n              \r\n             &lt;li class="nav-item i9-3 "&gt; \r\n                 &lt;a href="/6819/list.htm" title="学习园地" target="_self"&gt;&lt;span class="item-name"&gt;学习园地&lt;/span&gt;&lt;/a&gt;&lt;i class="mark"&gt;&lt;/i&gt; \r\n                  \r\n             &lt;/li&gt; \r\n              \r\n         &lt;/ul&gt; \r\n          \r\n     &lt;/li&gt; \r\n      \r\n     &lt;li class="nav-item i10 "&gt; \r\n         &lt;a href="/6820/list.htm" title="工会之家" target="_self"&gt;&lt;span class="item-name"&gt;工会之家&lt;/span&gt;&lt;/a&gt;&lt;i class="mark"&gt;&lt;/i&gt; \r\n          \r\n         &lt;ul class="sub-nav"&gt; \r\n              \r\n             &lt;li class="nav-item i10-1 "&gt; \r\n                 &lt;a href="/ghtz/list.htm" title="工会通知" target="_self"&gt;&lt;span class="item-name"&gt;工会通知&lt;/span&gt;&lt;/a&gt;&lt;i class="mark"&gt;&lt;/i&gt; \r\n                  \r\n             &lt;/li&gt; \r\n              \r\n             &lt;li class="nav-item i10-2 "&gt; \r\n                 &lt;a href="/6821/list.htm" title="工会活动" target="_self"&gt;&lt;span class="item-name"&gt;工会活动&lt;/span&gt;&lt;/a&gt;&lt;i class="mark"&gt;&lt;/i&gt; \r\n                  \r\n             &lt;/li&gt; \r\n              \r\n             &lt;li class="nav-item i10-3 "&gt; \r\n                 &lt;a href="/6822/list.htm" title="组织机构" target="_self"&gt;&lt;span class="item-name"&gt;组织机构&lt;/span&gt;&lt;/a&gt;&lt;i class="mark"&gt;&lt;/i&gt; \r\n                  \r\n             &lt;/li&gt; \r\n              \r\n             &lt;li class="nav-item i10-4 "&gt; \r\n                 &lt;a href="/6823/list.htm" title="教代会" target="_self"&gt;&lt;span class="item-name"&gt;教代会&lt;/span&gt;&lt;/a&gt;&lt;i class="mark"&gt;&lt;/i&gt; \r\n                  \r\n             &lt;/li&gt; \r\n              \r\n             &lt;li class="nav-item i10-5 "&gt; \r\n                 &lt;a href="/6824/list.htm" title="工会荣誉" target="_self"&gt;&lt;span class="item-name"&gt;工会荣誉&lt;/span&gt;&lt;/a&gt;&lt;i class="mark"&gt;&lt;/i&gt; \r\n                  \r\n             &lt;/li&gt; \r\n              \r\n             &lt;li class="nav-item i10-6 "&gt; \r\n                 &lt;a href="/hyfc/list.htm" title="会员风采" target="_self"&gt;&lt;span class="item-name"&gt;会员风采&lt;/span&gt;&lt;/a&gt;&lt;i class="mark"&gt;&lt;/i&gt; \r\n                  \r\n             &lt;/li&gt; \r\n              \r\n             &lt;li class="nav-item i10-7 "&gt; \r\n                 &lt;a href="/wdxz/list.htm" title="文档下载" target="_self"&gt;&lt;span class="item-name"&gt;文档下载&lt;/span&gt;&lt;/a&gt;&lt;i class="mark"&gt;&lt;/i&gt; \r\n                  \r\n             &lt;/li&gt; \r\n              \r\n         &lt;/ul&gt; \r\n          \r\n     &lt;/li&gt; \r\n      \r\n     &lt;li class="nav-item i11 "&gt; \r\n         &lt;a href="http://int.sci.upc.edu.cn" title="国际事务" target="_self"&gt;&lt;span class="item-name"&gt;国际事务&lt;/span&gt;&lt;/a&gt;&lt;i class="mark"&gt;&lt;/i&gt; \r\n          \r\n     &lt;/li&gt; \r\n      \r\n&lt;/ul&gt; \r\n \r\n \r\n &lt;/div&gt;\r\n            &lt;/div&gt;\r\n        &lt;/div&gt;\r\n&lt;/div&gt;\r\n&lt;/td&gt;\r\n        &lt;td width="20" background="/_upload/tpl/03/c0/960/template960/images/nav.gif"&gt;&amp;nbsp;&lt;/td&gt;\r\n      &lt;/tr&gt;\r\n    &lt;/table&gt;  \r\n\r\n    &lt;table width="100%" height="600" border="0" cellpadding="0" cellspacing="0" bgcolor="#FFFFFF"&gt;\r\n      &lt;tr&gt;\r\n        &lt;td width="50" valign="top"&gt;&amp;nbsp;&lt;/td&gt;\r\n        &lt;td width="1200" valign="top"&gt;&lt;div frag="面板21"&gt;\r\n            &lt;div frag="窗口21" portletmode="simpleArticleAttri"&gt;\r\n              \r\n                &lt;table width="100%" border="0" cellspacing="0" cellpadding="0"&gt;\r\n                  &lt;tr&gt;\r\n                    &lt;td height="52" align="center" class="infotitle"&gt;应用物理学&lt;/td&gt;\r\n                  &lt;/tr&gt;\r\n                &lt;/table&gt;\r\n                &lt;table width="100%" border="0"&gt;\r\n  &lt;tr&gt;\r\n    &lt;td align="center"&gt;&lt;/td&gt;\r\n  &lt;/tr&gt;\r\n  &lt;tr&gt;\r\n                                                                &lt;td height="1" bgcolor="#CCCCCC" &gt;&lt;/td&gt;\r\n                                                            &lt;/tr&gt;\r\n                                                            &lt;/table&gt;\r\n                &lt;table width="100%" border="0" cellpadding="0" cellspacing="0" class="border2"&gt;\r\n                  &lt;tr&gt;\r\n                    &lt;td  height="31" align="center" &gt; 发布人：王辰&amp;nbsp;&amp;nbsp;发布时间：2017-12-26&amp;nbsp;&amp;nbsp; 浏览次数:&lt;span class="WP_VisitCount" url="/_visitcountdisplay?siteId=122&amp;type=3&amp;articleId=98095"&gt;2043&lt;/span&gt;&lt;/td&gt;\r\n                  &lt;/tr&gt;\r\n                &lt;/table&gt;\r\n                &lt;table class="article" width="100%" border="0" cellspacing="0" cellpadding="0"&gt;\r\n                  &lt;tr&gt;\r\n                    &lt;td valign="top"  class="article"&gt;&lt;div class=\'wp_articlecontent\'&gt;&lt;p style="line-height:150%;text-indent:28px;mso-pagination:widow-orphan;"&gt;&lt;span style="line-height:150%;font-family:宋体;font-size:19px;mso-ascii-theme-font:minor-fareast;mso-fareast-theme-font:minor-fareast;mso-hansi-theme-font:minor-fareast;mso-bidi-font-family:宋体;mso-bidi-theme-font:minor-fareast;"&gt;应用物理学专业是物理科学与技术学院最早设置的本科专业，我校德高望重的物理教师冯世瑄、戈革、乐光尧、贾瑞皋等参与了专业的建设与教学工作。&lt;span lang="EN-US"&gt;2007&lt;/span&gt;年和&lt;span lang="EN-US"&gt;2008&lt;/span&gt;年应用物理学专业分别被评为山东省和国家特色专业建设点。应用物理学专业下设“采油物理”、“地球物理探测技术”以及“核电及核技术应用”&lt;span lang="EN-US"&gt;3&lt;/span&gt;个专业方向，建有“智能仪器与检测技术实验室”、“近代物理实验室”和“核电与核技术综合实验室”，同时拥有一批稳定的校内、外实践教学基地。&lt;/span&gt;&lt;/p&gt;&lt;p style="line-height:150%;text-indent:37px;mso-char-indent-count:2.0;mso-pagination:widow-orphan;"&gt;&lt;strong&gt;&lt;span style="line-height:150%;font-family:宋体;font-size:19px;mso-ascii-theme-font:minor-fareast;mso-fareast-theme-font:minor-fareast;mso-hansi-theme-font:minor-fareast;mso-bidi-font-family:宋体;mso-bidi-theme-font:minor-fareast;"&gt;专业培养目标&lt;/span&gt;&lt;/strong&gt;&lt;span style="line-height:150%;font-family:宋体;font-size:19px;mso-ascii-theme-font:minor-fareast;mso-fareast-theme-font:minor-fareast;mso-hansi-theme-font:minor-fareast;mso-bidi-font-family:宋体;mso-bidi-theme-font:minor-fareast;"&gt;：培养系统掌握物理学的基本理论、基本方法和基本技能&lt;span lang="EN-US"&gt;,&lt;/span&gt;具有较扎实的核物理和油气物理应用领域的专门知识&lt;span lang="EN-US"&gt;,&lt;/span&gt;具有较强实践能力、创新意识和国际视野&lt;span lang="EN-US"&gt;,&lt;/span&gt;知识、能力、素质全面发展&lt;span lang="EN-US"&gt;,&lt;/span&gt;能在应用物理学科、交叉学科以及相关科学技术领域从事研究、教学、新技术开发与应用以及管理工作的高级人才。&lt;/span&gt;&lt;/p&gt;&lt;p style="line-height:150%;text-indent:37px;mso-char-indent-count:2.0;mso-pagination:widow-orphan;"&gt;&lt;strong&gt;&lt;span style="line-height:150%;font-family:宋体;font-size:19px;mso-ascii-theme-font:minor-fareast;mso-fareast-theme-font:minor-fareast;mso-hansi-theme-font:minor-fareast;mso-bidi-font-family:宋体;mso-bidi-theme-font:minor-fareast;"&gt;专业核心课程&lt;/span&gt;&lt;/strong&gt;&lt;span style="line-height:150%;font-family:宋体;font-size:19px;mso-ascii-theme-font:minor-fareast;mso-fareast-theme-font:minor-fareast;mso-hansi-theme-font:minor-fareast;mso-bidi-font-family:宋体;mso-bidi-theme-font:minor-fareast;"&gt;：理论力学、电动力学、量子力学、热力学与统计物理、固体物理、计算物理&lt;/span&gt;&lt;/p&gt;&lt;p style="line-height:150%;text-indent:37px;mso-char-indent-count:2.0;mso-pagination:widow-orphan;"&gt;&lt;strong&gt;&lt;span style="line-height:150%;font-family:宋体;font-size:19px;mso-ascii-theme-font:minor-fareast;mso-fareast-theme-font:minor-fareast;mso-hansi-theme-font:minor-fareast;mso-bidi-font-family:宋体;mso-bidi-theme-font:minor-fareast;"&gt;专业特色&lt;/span&gt;&lt;/strong&gt;&lt;span style="line-height:150%;font-family:宋体;font-size:19px;mso-ascii-theme-font:minor-fareast;mso-fareast-theme-font:minor-fareast;mso-hansi-theme-font:minor-fareast;mso-bidi-font-family:宋体;mso-bidi-theme-font:minor-fareast;"&gt;：本专业物理基础理论厚重，专业课程实用，紧密结合石油勘探开发，地球物理探测以及核技术应用，整体水平处于全国同类院校和山东省应用物理学专业先进水平。刚性物理基础，柔性专业方向，在物理理论基础培养刚化的情况下，根据人才市场的需求，随时调整专业方向。近几年三次调整了专业培养计划，面向石油工业设立了“采油物理”、“地球物理探测技术”以及“核电及核技术应用”三个主干方向，拓宽了学生的就业渠道，突出了能源院校应用物理学专业的特色。拓宽专业口径，增加了十几门工程基础课程，培养了学生的工程意识，扩展了学生的实际工作能力。办学条件好，师资力量雄厚，实验条件优越，有学校石油主干专业的支持和配合，有物理学一级硕士点的支撑。&lt;/span&gt;&lt;/p&gt;&lt;p style="line-height:150%;text-indent:37px;mso-char-indent-count:2.0;mso-pagination:widow-orphan;"&gt;&lt;strong&gt;&lt;span style="line-height:150%;font-family:宋体;font-size:19px;mso-ascii-theme-font:minor-fareast;mso-fareast-theme-font:minor-fareast;mso-hansi-theme-font:minor-fareast;mso-bidi-font-family:宋体;mso-bidi-theme-font:minor-fareast;"&gt;毕业生就业方向&lt;/span&gt;&lt;/strong&gt;&lt;span style="line-height:150%;font-family:宋体;font-size:19px;mso-ascii-theme-font:minor-fareast;mso-fareast-theme-font:minor-fareast;mso-hansi-theme-font:minor-fareast;mso-bidi-font-family:宋体;mso-bidi-theme-font:minor-fareast;"&gt;：毕业生可在应用物理、电子信息技术、材料科学与工程、计算机技术等相关科学领域从事应用研究、技术开发以及教学和管理工作，成为应用物理学科、交叉学科以及相关科学技术领域从事研究、教学、新技术开发与应用以及管理工作的高级人才。&lt;/span&gt;&lt;/p&gt;&lt;p style="line-height:150%;text-indent:37px;mso-char-indent-count:2.0;mso-pagination:widow-orphan;"&gt;&lt;strong&gt;&lt;span style="line-height:150%;font-family:宋体;font-size:19px;mso-ascii-theme-font:minor-fareast;mso-fareast-theme-font:minor-fareast;mso-hansi-theme-font:minor-fareast;mso-bidi-font-family:宋体;mso-bidi-theme-font:minor-fareast;"&gt;在校毕业生人数：&lt;/span&gt;&lt;/strong&gt;&lt;span lang="EN-US" style="line-height:150%;font-family:宋体;font-size:19px;mso-ascii-theme-font:minor-fareast;mso-fareast-theme-font:minor-fareast;mso-hansi-theme-font:minor-fareast;mso-bidi-font-family:宋体;mso-bidi-theme-font:minor-fareast;"&gt;2021&lt;/span&gt;&lt;span style="line-height:150%;font-family:宋体;font-size:19px;mso-ascii-theme-font:minor-fareast;mso-fareast-theme-font:minor-fareast;mso-hansi-theme-font:minor-fareast;mso-bidi-font-family:宋体;mso-bidi-theme-font:minor-fareast;"&gt;届&lt;span lang="EN-US"&gt;60&lt;/span&gt;人；&lt;span lang="EN-US"&gt;2022&lt;/span&gt;届&lt;span lang="EN-US"&gt;61&lt;/span&gt;人；&lt;span lang="EN-US"&gt;2023&lt;/span&gt;届&lt;span lang="EN-US"&gt;57&lt;/span&gt;人；&lt;span lang="EN-US"&gt;2024&lt;/span&gt;届&lt;span lang="EN-US"&gt;60&lt;/span&gt;人。四级通过率 &lt;span lang="EN-US"&gt;92.3%&lt;/span&gt;，六级通过率 &lt;span lang="EN-US"&gt;60.2%&lt;/span&gt;，考研率&lt;span lang="EN-US"&gt;50.4%&lt;/span&gt;。&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;/div&gt;&lt;/td&gt;\r\n                  &lt;/tr&gt;\r\n                &lt;/table&gt;\r\n              \r\n            &lt;/div&gt;\r\n        &lt;/div&gt;&lt;/td&gt;\r\n        &lt;td width="50" valign="top"&gt;&amp;nbsp;&lt;/td&gt;\r\n      &lt;/tr&gt;\r\n    &lt;/table&gt;\r\n\r\n\r\n&lt;div id="foot"&gt;\r\n\r\n&lt;p&gt;&lt;span class=”addr”&gt;地址：青岛市黄岛区长江西路66号 文理楼&lt;/span&gt;&lt;/p&gt;\r\n&lt;p class="bottomP"&gt;&lt;span class=”copyright”&gt;Copyright © 2018 版权所有：中国石油大学(华东) 理学院&lt;/span&gt;&lt;span class=”support”&gt;  制作维护：理学院网络维护小组&lt;/span&gt;&lt;/p&gt;\r\n           \r\n  &lt;table width="100%" border="0" cellspacing="0" cellpadding="0"&gt;\r\n        &lt;tr&gt;\r\n          &lt;td height="15"&gt;&lt;/td&gt;\r\n        &lt;/tr&gt;\r\n      &lt;/table&gt;\r\n \r\n\r\n\r\n &lt;/div&gt;\r\n\r\n\r\n  &lt;/div&gt;\r\n&lt;/div&gt;\r\n&lt;/body&gt;\r\n&lt;/html&gt;\r\n &lt;img src="/_visitcount?siteId=122&amp;type=3&amp;articleId=98095" style="display:none" width="0" height="0"&gt;&lt;/image&gt;'</pre>
</div>
</div>
</div>
</div>
</div><div class="jp-Cell jp-CodeCell jp-Notebook-cell" id="cell-id=1a6abb41-478a-4076-904f-a51cf3bf23fb">
<div class="jp-Cell-inputWrapper" tabindex="0">
<div class="jp-Collapser jp-InputCollapser jp-Cell-inputCollapser">
</div>
<div class="jp-InputArea jp-Cell-inputArea">
<div class="jp-InputPrompt jp-InputArea-prompt">In [48]:</div>
<div class="jp-CodeMirrorEditor jp-Editor jp-InputArea-editor" data-type="inline">
<div class="cm-editor cm-s-jupyter">
<div class="highlight hl-ipython3"><pre><span></span><span class="c1"># 解析网页数据  </span>
<span class="n">soup</span> <span class="o">=</span> <span class="n">BeautifulSoup</span><span class="p">(</span><span class="n">r</span><span class="p">,</span><span class="s1">'html.parser'</span><span class="p">)</span>  
<span class="n">items</span> <span class="o">=</span> <span class="n">soup</span><span class="o">.</span><span class="n">find_all</span><span class="p">(</span><span class="s1">'div'</span><span class="p">,</span><span class="n">class_</span><span class="o">=</span><span class="s2">"wp_articlecontent"</span><span class="p">)</span>  
<span class="n">ulist</span> <span class="o">=</span> <span class="p">[]</span>  
<span class="k">for</span> <span class="n">item</span> <span class="ow">in</span> <span class="n">items</span><span class="p">:</span>  
    <span class="c1"># 查找所有的 'p' 标签  </span>
    <span class="n">p_tags</span> <span class="o">=</span> <span class="n">item</span><span class="o">.</span><span class="n">find_all</span><span class="p">(</span><span class="s1">'p'</span><span class="p">)</span>  
    <span class="c1"># 遍历 'p' 标签，提取文本并添加到 ulist 中  </span>
    <span class="k">for</span> <span class="n">p_tag</span> <span class="ow">in</span> <span class="n">p_tags</span><span class="p">:</span>  
        <span class="n">text</span> <span class="o">=</span> <span class="n">p_tag</span><span class="o">.</span><span class="n">get_text</span><span class="p">(</span><span class="n">strip</span><span class="o">=</span><span class="kc">True</span><span class="p">)</span>  
        <span class="nb">print</span><span class="p">(</span><span class="n">text</span><span class="p">)</span>  
        <span class="n">ulist</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">text</span><span class="p">)</span>  
  
<span class="c1"># 在循环结束后打印整个列表  </span>
<span class="nb">print</span><span class="p">(</span><span class="n">ulist</span><span class="p">)</span>
</pre></div>
</div>
</div>
</div>
</div>
<div class="jp-Cell-outputWrapper">
<div class="jp-Collapser jp-OutputCollapser jp-Cell-outputCollapser">
</div>
<div class="jp-OutputArea jp-Cell-outputArea">
<div class="jp-OutputArea-child">
<div class="jp-OutputPrompt jp-OutputArea-prompt"></div>
<div class="jp-RenderedText jp-OutputArea-output" data-mime-type="text/plain" tabindex="0">
<pre>应用物理学专业是物理科学与技术学院最早设置的本科专业，我校德高望重的物理教师冯世瑄、戈革、乐光尧、贾瑞皋等参与了专业的建设与教学工作。2007年和2008年应用物理学专业分别被评为山东省和国家特色专业建设点。应用物理学专业下设“采油物理”、“地球物理探测技术”以及“核电及核技术应用”3个专业方向，建有“智能仪器与检测技术实验室”、“近代物理实验室”和“核电与核技术综合实验室”，同时拥有一批稳定的校内、外实践教学基地。
专业培养目标：培养系统掌握物理学的基本理论、基本方法和基本技能,具有较扎实的核物理和油气物理应用领域的专门知识,具有较强实践能力、创新意识和国际视野,知识、能力、素质全面发展,能在应用物理学科、交叉学科以及相关科学技术领域从事研究、教学、新技术开发与应用以及管理工作的高级人才。
专业核心课程：理论力学、电动力学、量子力学、热力学与统计物理、固体物理、计算物理
专业特色：本专业物理基础理论厚重，专业课程实用，紧密结合石油勘探开发，地球物理探测以及核技术应用，整体水平处于全国同类院校和山东省应用物理学专业先进水平。刚性物理基础，柔性专业方向，在物理理论基础培养刚化的情况下，根据人才市场的需求，随时调整专业方向。近几年三次调整了专业培养计划，面向石油工业设立了“采油物理”、“地球物理探测技术”以及“核电及核技术应用”三个主干方向，拓宽了学生的就业渠道，突出了能源院校应用物理学专业的特色。拓宽专业口径，增加了十几门工程基础课程，培养了学生的工程意识，扩展了学生的实际工作能力。办学条件好，师资力量雄厚，实验条件优越，有学校石油主干专业的支持和配合，有物理学一级硕士点的支撑。
毕业生就业方向：毕业生可在应用物理、电子信息技术、材料科学与工程、计算机技术等相关科学领域从事应用研究、技术开发以及教学和管理工作，成为应用物理学科、交叉学科以及相关科学技术领域从事研究、教学、新技术开发与应用以及管理工作的高级人才。
在校毕业生人数：2021届60人；2022届61人；2023届57人；2024届60人。四级通过率92.3%，六级通过率60.2%，考研率50.4%。

['应用物理学专业是物理科学与技术学院最早设置的本科专业，我校德高望重的物理教师冯世瑄、戈革、乐光尧、贾瑞皋等参与了专业的建设与教学工作。2007年和2008年应用物理学专业分别被评为山东省和国家特色专业建设点。应用物理学专业下设“采油物理”、“地球物理探测技术”以及“核电及核技术应用”3个专业方向，建有“智能仪器与检测技术实验室”、“近代物理实验室”和“核电与核技术综合实验室”，同时拥有一批稳定的校内、外实践教学基地。', '专业培养目标：培养系统掌握物理学的基本理论、基本方法和基本技能,具有较扎实的核物理和油气物理应用领域的专门知识,具有较强实践能力、创新意识和国际视野,知识、能力、素质全面发展,能在应用物理学科、交叉学科以及相关科学技术领域从事研究、教学、新技术开发与应用以及管理工作的高级人才。', '专业核心课程：理论力学、电动力学、量子力学、热力学与统计物理、固体物理、计算物理', '专业特色：本专业物理基础理论厚重，专业课程实用，紧密结合石油勘探开发，地球物理探测以及核技术应用，整体水平处于全国同类院校和山东省应用物理学专业先进水平。刚性物理基础，柔性专业方向，在物理理论基础培养刚化的情况下，根据人才市场的需求，随时调整专业方向。近几年三次调整了专业培养计划，面向石油工业设立了“采油物理”、“地球物理探测技术”以及“核电及核技术应用”三个主干方向，拓宽了学生的就业渠道，突出了能源院校应用物理学专业的特色。拓宽专业口径，增加了十几门工程基础课程，培养了学生的工程意识，扩展了学生的实际工作能力。办学条件好，师资力量雄厚，实验条件优越，有学校石油主干专业的支持和配合，有物理学一级硕士点的支撑。', '毕业生就业方向：毕业生可在应用物理、电子信息技术、材料科学与工程、计算机技术等相关科学领域从事应用研究、技术开发以及教学和管理工作，成为应用物理学科、交叉学科以及相关科学技术领域从事研究、教学、新技术开发与应用以及管理工作的高级人才。', '在校毕业生人数：2021届60人；2022届61人；2023届57人；2024届60人。四级通过率92.3%，六级通过率60.2%，考研率50.4%。', '']
</pre>
</div>
</div>
</div>
</div>
</div>
<div class="jp-Cell jp-MarkdownCell jp-Notebook-cell" id="cell-id=714f67e4-aacd-4f81-bde5-ad903157ad00">
<div class="jp-Cell-inputWrapper" tabindex="0">
<div class="jp-Collapser jp-InputCollapser jp-Cell-inputCollapser">
</div>
<div class="jp-InputArea jp-Cell-inputArea"><div class="jp-InputPrompt jp-InputArea-prompt">
</div><div class="jp-RenderedHTMLCommon jp-RenderedMarkdown jp-MarkdownOutput" data-mime-type="text/markdown">
<h1 id="%E7%AC%AC%E4%BA%8C%E4%B8%AA%E7%BD%91%E7%AB%99">第二个网站<a class="anchor-link" href="#%E7%AC%AC%E4%BA%8C%E4%B8%AA%E7%BD%91%E7%AB%99">¶</a></h1>
</div>
</div>
</div>
</div><div class="jp-Cell jp-CodeCell jp-Notebook-cell jp-mod-noOutputs" id="cell-id=78ee7141-4d99-4421-8f45-3156cab0d87a">
<div class="jp-Cell-inputWrapper" tabindex="0">
<div class="jp-Collapser jp-InputCollapser jp-Cell-inputCollapser">
</div>
<div class="jp-InputArea jp-Cell-inputArea">
<div class="jp-InputPrompt jp-InputArea-prompt">In [49]:</div>
<div class="jp-CodeMirrorEditor jp-Editor jp-InputArea-editor" data-type="inline">
<div class="cm-editor cm-s-jupyter">
<div class="highlight hl-ipython3"><pre><span></span><span class="c1">#开始爬取第二个网站，过程与第一个网址类似</span>
<span class="c1">#导入必要的库</span>
<span class="kn">import</span> <span class="nn">requests</span>
<span class="kn">from</span> <span class="nn">bs4</span> <span class="kn">import</span> <span class="n">BeautifulSoup</span>
<span class="kn">import</span> <span class="nn">pandas</span> <span class="k">as</span> <span class="nn">pd1</span> 
<span class="k">def</span> <span class="nf">getHtmlText</span><span class="p">(</span><span class="n">url1</span><span class="p">,</span><span class="n">user_agent</span><span class="p">):</span> 
    <span class="k">try</span><span class="p">:</span>
        <span class="c1">#发送请求</span>
        <span class="n">r1</span> <span class="o">=</span> <span class="n">requests</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="n">url1</span><span class="p">,</span><span class="n">headers</span> <span class="o">=</span> <span class="p">{</span><span class="s1">'User-Agent'</span><span class="p">:</span><span class="n">user_agent</span><span class="p">},</span><span class="n">timeout</span><span class="o">=</span><span class="mi">30</span><span class="p">)</span>
        <span class="n">r1</span><span class="o">.</span><span class="n">raise_for_status</span><span class="p">()</span><span class="c1">#检验错误</span>
        <span class="n">r1</span><span class="o">.</span><span class="n">encoding</span> <span class="o">=</span> <span class="s1">'utf-8'</span>
        <span class="k">return</span> <span class="n">r1</span><span class="o">.</span><span class="n">text</span><span class="c1">#返回文本</span>
    <span class="k">except</span><span class="p">:</span>
        <span class="k">return</span> <span class="s2">""</span><span class="c1">#如果发生异常，则返回空字符</span>
</pre></div>
</div>
</div>
</div>
</div>
</div><div class="jp-Cell jp-CodeCell jp-Notebook-cell" id="cell-id=6f4bf62c-12dd-4239-95e0-68e8fb312552">
<div class="jp-Cell-inputWrapper" tabindex="0">
<div class="jp-Collapser jp-InputCollapser jp-Cell-inputCollapser">
</div>
<div class="jp-InputArea jp-Cell-inputArea">
<div class="jp-InputPrompt jp-InputArea-prompt">In [50]:</div>
<div class="jp-CodeMirrorEditor jp-Editor jp-InputArea-editor" data-type="inline">
<div class="cm-editor cm-s-jupyter">
<div class="highlight hl-ipython3"><pre><span></span><span class="c1">#获取网页内容并检查数据类型</span>
<span class="n">url1</span><span class="o">=</span><span class="s2">"https://www.nudt.edu.cn/szdw/lyys/index.htm"</span>
<span class="n">user_agent</span> <span class="o">=</span> <span class="s2">"Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Firefox/45.0"</span>
<span class="n">r1</span> <span class="o">=</span> <span class="n">getHtmlText</span><span class="p">(</span><span class="n">url1</span><span class="p">,</span><span class="n">user_agent</span><span class="p">)</span>
<span class="nb">type</span><span class="p">(</span><span class="n">r1</span><span class="p">)</span>
</pre></div>
</div>
</div>
</div>
</div>
<div class="jp-Cell-outputWrapper">
<div class="jp-Collapser jp-OutputCollapser jp-Cell-outputCollapser">
</div>
<div class="jp-OutputArea jp-Cell-outputArea">
<div class="jp-OutputArea-child jp-OutputArea-executeResult">
<div class="jp-OutputPrompt jp-OutputArea-prompt">Out[50]:</div>
<div class="jp-RenderedText jp-OutputArea-output jp-OutputArea-executeResult" data-mime-type="text/plain" tabindex="0">
<pre>str</pre>
</div>
</div>
</div>
</div>
</div><div class="jp-Cell jp-CodeCell jp-Notebook-cell" id="cell-id=1fce4319-7c62-48a0-ad2c-15a279f0a0ab">
<div class="jp-Cell-inputWrapper" tabindex="0">
<div class="jp-Collapser jp-InputCollapser jp-Cell-inputCollapser">
</div>
<div class="jp-InputArea jp-Cell-inputArea">
<div class="jp-InputPrompt jp-InputArea-prompt">In [51]:</div>
<div class="jp-CodeMirrorEditor jp-Editor jp-InputArea-editor" data-type="inline">
<div class="cm-editor cm-s-jupyter">
<div class="highlight hl-ipython3"><pre><span></span><span class="n">r1</span>
</pre></div>
</div>
</div>
</div>
</div>
<div class="jp-Cell-outputWrapper">
<div class="jp-Collapser jp-OutputCollapser jp-Cell-outputCollapser">
</div>
<div class="jp-OutputArea jp-Cell-outputArea">
<div class="jp-OutputArea-child jp-OutputArea-executeResult">
<div class="jp-OutputPrompt jp-OutputArea-prompt">Out[51]:</div>
<div class="jp-RenderedText jp-OutputArea-output jp-OutputArea-executeResult" data-mime-type="text/plain" tabindex="0">
<pre>'&lt;!doctype html&gt;\r\n&lt;html&gt;\r\n\r\n&lt;head&gt;\r\n\t&lt;meta charset="utf-8"&gt;\r\n\t&lt;meta name="viewport" content="width=device-width, initial-scale=1.0,minimum-scale=1.0, maximum-scale=1.0"&gt;\r\n\t&lt;meta name="apple-mobile-web-app-status-bar-style" content="black" /&gt;\r\n\t&lt;meta name="format-detection" content="telephone=no" /&gt;\r\n\t&lt;meta name="renderer" content="webkit"&gt;\r\n\t&lt;meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"&gt;\r\n\t&lt;title&gt;国防科技大学&lt;/title&gt;\r\n\t&lt;link rel="stylesheet" href="../../css/iconfont.css"&gt;\r\n\t&lt;link rel="stylesheet" href="../../css/base.css"&gt;\r\n\t&lt;link rel="stylesheet" href="../../css/style.css"&gt;\r\n\t&lt;link rel="stylesheet" href="../../css/swiper.css"&gt;\r\n\t&lt;link rel="stylesheet" href="../../css/subcon.css"&gt;\r\n\t&lt;link rel="stylesheet" href="../../css/h_subcon.css"&gt;\r\n\t&lt;link rel="shortcut icon" href="../../images/favicon.ico"&gt;\r\n\t&lt;!--[if lt IE 9]&gt;\r\n&lt;script src="../../js/html5.js"  type="text/javascript"&gt;&lt;/script&gt;\r\n&lt;style&gt;\r\n  html{overflow-x:hidden;overflow-y:hidden;}\r\n&lt;/style&gt;\r\n&lt;i class="ie_bg"&gt;&lt;/i&gt;&lt;div class="ie9tips"&gt; &lt;img src="../../images/logo.png" alt=""&gt; &lt;p&gt;本站不再支持您的浏览器，请使用360浏览器8及以上（极速模式）、IE9及以上、Chrome5、Safari6、Firefox 3.6及以上、 Opera 10.5及以上浏览器观看。请升级您的浏览器到 &lt;a href=\'http://browsehappy.osfipin.com/\' target=\'_blank\' style=\'text-decoration:underline\'&gt;更高的版本&lt;/a&gt;！以获得更好的观看效果。&lt;/p&gt;\r\n&lt;/div&gt;\r\n&lt;![endif]--&gt;\r\n\t&lt;!--[if IE 9]&gt;\r\n&lt;style&gt;\r\n  html{overflow-x:hidden;overflow-y:hidden;}\r\n&lt;/style&gt;\r\n&lt;i class="ie_bg"&gt;&lt;/i&gt;&lt;div class="ie9tips"&gt; &lt;img src="../../images/logo.png" alt=""&gt; &lt;p&gt;本站不再支持您的浏览器，请使用360浏览器8及以上（极速模式）、IE9及以上、Chrome5、Safari6、Firefox 3.6及以上、 Opera 10.5及以上浏览器观看。请升级您的浏览器到 &lt;a href=\'http://browsehappy.osfipin.com/\' target=\'_blank\' style=\'text-decoration:underline\'&gt;更高的版本&lt;/a&gt;！以获得更好的观看效果。&lt;/p&gt;\r\n&lt;/div&gt;\r\n&lt;![endif]--&gt;\r\n\t&lt;!-- &lt;style type="text/css"&gt;\r\n\t.swiper-slide{z-index: 0;}\r\n\t.swiper-slide-active,.swiper-slide-duplicate-active{z-index: 50;}\r\n&lt;/style&gt; --&gt;\r\n&lt;/head&gt;\n\r\n\r\n\r\n\t&lt;style&gt;\nbody{\n  -webkit-text-size-adjust: 100% !important;\n}\n&lt;/style&gt;\n&lt;header class="header"&gt;\r\n    &lt;div class="fixedNav gp-f20"&gt;\r\n        &lt;div class="fixtop"&gt;\r\n            &lt;div class="gp-container"&gt;\r\n                &lt;a target="_blank" href="../../rczp/index.htm"&gt;人才招聘&lt;/a&gt;\r\n                &lt;a target="_blank" href="../../cgxx/index.htm"&gt;采购信息&lt;/a&gt;\r\n                &lt;a target="_blank" href="http://library.nudt.edu.cn/"&gt;图书馆&lt;/a&gt;\r\n                &lt;a target="_blank" href="https://www.nudt.edu.cn/press/index.htm"&gt;出版社&lt;/a&gt;\r\n                &lt;a target="_blank" href="https://mail.nudt.edu.cn/"&gt;邮箱&lt;/a&gt;\r\n                &lt;a target="_blank" href="https://english.nudt.edu.cn/"&gt;English&lt;/a&gt;\r\n            &lt;/div&gt;\r\n        &lt;/div&gt;\r\n        &lt;div class="flex gp-container"&gt;\r\n            &lt;div class="fixedLogo"&gt;\r\n                &lt;a href="../../index.htm"&gt;&lt;img src="../../images/logo.svg" alt=""&gt;&lt;/a&gt;\r\n            &lt;/div&gt;\r\n            &lt;ul class="flex gp-white" id="nav2"&gt;\r\n\t\t\t\t\t\t\t\t                &lt;li&gt;\r\n                                &lt;a href="../../xxgk/index.htm" class=""&gt;学校概况&lt;/a&gt;\r\n                                    &lt;div class="subnav flex w3"&gt;\r\n\t\t\t\t\t\t                        &lt;div class="img"&gt;&lt;div class="gp-img-responsive"&gt;&lt;img src="../../images/nav_img_xxgk.png" alt=""&gt;&lt;/div&gt;&lt;/div&gt;\r\n\t\t\t\t\t\t                        &lt;dl class="flex"&gt;\r\n                                                        &lt;dd&gt;&lt;a href="../../xxgk/kdjj/index.htm"&gt;科大简介&lt;/a&gt;&lt;/dd&gt;\r\n                                                        &lt;dd&gt;&lt;a href="../../xxgk/kdxx/index.htm"&gt;科大校训&lt;/a&gt;&lt;/dd&gt;\r\n                                                        &lt;dd&gt;&lt;a href="../../xxgk/kdxg/index.htm"&gt;科大校歌&lt;/a&gt;&lt;/dd&gt;\r\n                                                        &lt;dd&gt;&lt;a href="https://www.nudt.edu.cn/xxgk/sjxxsbxt/index.htm"&gt;标识系统&lt;/a&gt;&lt;/dd&gt;\r\n                                                    &lt;/dl&gt;\r\n                    &lt;/div&gt;\r\n                &lt;/li&gt;\r\n                \t\t\t\t\t\t\t\t                &lt;li&gt;\r\n                                &lt;a href="../../xwgg/index.htm" class=""&gt;新闻公告&lt;/a&gt;\r\n                                    &lt;div class="subnav flex w3"&gt;\r\n\t\t\t\t\t\t\t\t\t\t\t\t&lt;div class="img"&gt;&lt;div class="gp-img-responsive"&gt;&lt;img src="../../images/nav_img_xwgg.png" alt=""&gt;&lt;/div&gt;&lt;/div&gt;\r\n\t\t\t\t\t\t                        &lt;dl class="flex"&gt;\r\n                                                        &lt;dd&gt;&lt;a href="../../xwgg/kdyw/index.htm"&gt;科大要闻&lt;/a&gt;&lt;/dd&gt;\r\n                                                        &lt;dd&gt;&lt;a href="../../xwgg/tzgg/index.htm"&gt;通知公告&lt;/a&gt;&lt;/dd&gt;\r\n                                                        &lt;dd&gt;&lt;a href="../../xwgg/xydt/index.htm"&gt;校园动态&lt;/a&gt;&lt;/dd&gt;\r\n                                                        &lt;dd&gt;&lt;a href="../../xwgg/hdss/index.htm"&gt;活动赛事&lt;/a&gt;&lt;/dd&gt;\r\n                                                    &lt;/dl&gt;\r\n                    &lt;/div&gt;\r\n                &lt;/li&gt;\r\n                \t\t\t\t\t\t\t\t               \t&lt;li&gt;\r\n                               &lt;a href="../../yssz/index.htm" class=""&gt;院所设置&lt;/a&gt;\r\n                                    &lt;div class="subnav flex"&gt;\r\n                        &lt;div class="img"&gt;&lt;div class="gp-img-responsive"&gt;&lt;img src="../../images/nav_img_yssz.png" alt=""&gt;&lt;/div&gt;&lt;/div&gt;\r\n                        &lt;dl class="flex"&gt;\r\n                                                                                    &lt;dd&gt;&lt;a href="../../yssz/lxy/index.htm"&gt;理学院&lt;/a&gt;&lt;/dd&gt;\r\n                                                                                                                &lt;dd&gt;&lt;a href="../../yssz/jsjxy/index.htm"&gt;计算机学院&lt;/a&gt;&lt;/dd&gt;\r\n                                                                                                                &lt;dd&gt;&lt;a href="../../yssz/dzkxxy/index.htm"&gt;电子科学学院&lt;/a&gt;&lt;/dd&gt;\r\n                                                                                                                &lt;dd&gt;&lt;a href="../../yssz/qyjcxkxy/index.htm"&gt;前沿交叉学科学院&lt;/a&gt;&lt;/dd&gt;\r\n                                                                                                                &lt;dd&gt;&lt;a href="../../yssz/znkxxy/index.htm"&gt;智能科学学院&lt;/a&gt;&lt;/dd&gt;\r\n                                                                                                                &lt;dd&gt;&lt;a href="../../yssz/xtgcxy/index.htm"&gt;系统工程学院&lt;/a&gt;&lt;/dd&gt;\r\n                                                                                                                &lt;dd&gt;&lt;a href="../../yssz/ktkxxy/index.htm"&gt;空天科学学院&lt;/a&gt;&lt;/dd&gt;\r\n                                                                                                                &lt;dd&gt;&lt;a href="../../yssz/gjgxxy/index.htm"&gt;国际关系学院&lt;/a&gt;&lt;/dd&gt;\r\n                                                                                                                &lt;dd&gt;&lt;a href="../../yssz/xxtxxy/index.htm"&gt;信息通信学院&lt;/a&gt;&lt;/dd&gt;\r\n                                                                                                                &lt;dd&gt;&lt;a href="../../yssz/dzdkxy/index.htm"&gt;电子对抗学院&lt;/a&gt;&lt;/dd&gt;\r\n                                                                                                                &lt;dd&gt;&lt;a href="../../yssz/qxhyxy/index.htm"&gt;气象海洋学院&lt;/a&gt;&lt;/dd&gt;\r\n                                                                                                                &lt;dd&gt;&lt;a href="../../yssz/jzjcjyxy/index.htm"&gt;军政基础教育学院&lt;/a&gt;&lt;/dd&gt;\r\n                                                                                                                &lt;dd&gt;&lt;a href="http://yjszs.nudt.edu.cn/index/index.view"&gt;研究生院&lt;/a&gt;&lt;/dd&gt;\r\n                                                                                                                &lt;dd&gt;&lt;a href="../../yssz/dlssyjs/index.htm"&gt;第六十三研究所&lt;/a&gt;&lt;/dd&gt;\r\n                                                                                                                &lt;dd&gt;&lt;a&gt;试验训练基地&lt;/a&gt;&lt;/dd&gt;\r\n                                                                                &lt;/dl&gt;\r\n                    &lt;/div&gt;\r\n                &lt;/li&gt;\r\n\t\t\t\t\t\t\t\t\t\t\t\t                &lt;li&gt;\t\r\n                                &lt;a href="../index.htm" class="cur"&gt;师资队伍&lt;/a&gt;\r\n                                    &lt;div class="subnav flex w2"&gt;\r\n                        &lt;div class="img"&gt;&lt;div class="gp-img-responsive"&gt;&lt;img src="../../images/nav_img_szdw.png" alt=""&gt;&lt;/div&gt;&lt;/div&gt;\r\n                        &lt;dl class="flex"&gt;\r\n                                                        &lt;dd&gt;&lt;a href="index.htm"&gt;两院院士&lt;/a&gt;&lt;/dd&gt;\r\n                                                        &lt;dd&gt;&lt;a href="../gjjcqnkxjjhdz/index.htm"&gt;国家杰出青年科学基金获得者&lt;/a&gt;&lt;/dd&gt;\r\n                                                        &lt;dd&gt;&lt;a href="../gjyxqnkxjj/index.htm"&gt;国家优秀青年科学基金&lt;/a&gt;&lt;/dd&gt;\r\n                                                        &lt;dd&gt;&lt;a href="../bqwrcgcgjjrx/index.htm"&gt;百千万人才工程国家级人选&lt;/a&gt;&lt;/dd&gt;\r\n                                                        &lt;dd&gt;&lt;a href="../gjkxqsjcqnsygcjhdz/index.htm"&gt;国家科协求是杰出青年实用工程奖获得者&lt;/a&gt;&lt;/dd&gt;\r\n                                                        &lt;dd&gt;&lt;a href="../qgyxkjgzz/index.htm"&gt;全国优秀科技工作者&lt;/a&gt;&lt;/dd&gt;\r\n                                                    &lt;/dl&gt;\r\n                    &lt;/div&gt;\r\n                &lt;/li&gt;\r\n\t\t\t\t\t\t\t\t\t\t\t\t                &lt;li&gt;\r\n                                &lt;a href="../../jyjx/index.htm" class=""&gt;教育教学&lt;/a&gt;\r\n                                    &lt;div class="subnav flex w3"&gt;\r\n\t\t\t\t\t\t\t\t\t\t\t\t &lt;div class="img"&gt;&lt;div class="gp-img-responsive"&gt;&lt;img src="../../images/nav_img_jyjx.png" alt=""&gt;&lt;/div&gt;&lt;/div&gt;\r\n\t\t\t\t\t\t                        &lt;dl class="flex"&gt;\r\n                                                        &lt;dd&gt;&lt;a href="../../jyjx/jxdt/index.htm"&gt;教学动态&lt;/a&gt;&lt;/dd&gt;\r\n                                                        &lt;dd&gt;&lt;a href="../../jyjx/jxms/index.htm"&gt;教学名师&lt;/a&gt;&lt;/dd&gt;\r\n                                                        &lt;dd&gt;&lt;a href="../../jyjx/jpkc/index.htm"&gt;精品课程&lt;/a&gt;&lt;/dd&gt;\r\n                                                        &lt;dd&gt;&lt;a href="../../jyjx/sjjx/index.htm"&gt;实践教学&lt;/a&gt;&lt;/dd&gt;\r\n                                                    &lt;/dl&gt;\r\n                    &lt;/div&gt;\r\n                &lt;/li&gt;\r\n                \t\t\t\t\t\t\t\t                &lt;li&gt;\r\n                                &lt;a href="../../kxyj/index.htm" class=""&gt;科学研究&lt;/a&gt;\r\n                \t\t\t\t\t\t\t\t\t\t\t\t                &lt;li&gt;\r\n                                &lt;a href="../../hzjl/index.htm" class=""&gt;合作交流&lt;/a&gt;\r\n                \t\t\t\t\t\t\t\t\t\t\t\t                &lt;li&gt;\r\n                                &lt;a href="../../zsjy/index.htm" class=""&gt;招生就业&lt;/a&gt;\r\n                                    &lt;div class="subnav flex w3"&gt;\r\n\t\t\t\t\t\t\t\t\t\t\t\t&lt;div class="img"&gt;&lt;div class="gp-img-responsive"&gt;&lt;img src="../../images/nav_img_zsjy.png" alt=""&gt;&lt;/div&gt;&lt;/div&gt;\r\n\t\t\t\t\t\t                        &lt;dl class="flex"&gt;\r\n                                                        &lt;dd&gt;&lt;a href="../../zsjy/bkszsw/index.htm"&gt;本科生招生网&lt;/a&gt;&lt;/dd&gt;\r\n                                                        &lt;dd&gt;&lt;a href="../../zsjy/yjszsw/index.htm"&gt;研究生招生网&lt;/a&gt;&lt;/dd&gt;\r\n                                                        &lt;dd&gt;&lt;a href="../../zsjy/jyxxw/index.htm"&gt;就业信息网&lt;/a&gt;&lt;/dd&gt;\r\n                                                    &lt;/dl&gt;\r\n                    &lt;/div&gt;\r\n                &lt;/li&gt;\r\n                \t\t\t\t\t\t\t\t                &lt;li&gt;\r\n                                &lt;a href="../../zjkd/index.htm" class=""&gt;走进科大&lt;/a&gt;\r\n                                    &lt;div class="subnav flex w3"&gt;\r\n\t\t\t\t\t\t\t\t\t\t\t\t&lt;div class="img"&gt;&lt;div class="gp-img-responsive"&gt;&lt;img src="../../images/nav_img_zjkd.png" alt=""&gt;&lt;/div&gt;&lt;/div&gt;\r\n\t\t\t\t\t\t                        &lt;dl class="flex"&gt;\r\n                                                        &lt;dd&gt;&lt;a href="../../zjkd/xysh/index.htm"&gt;校园生活&lt;/a&gt;&lt;/dd&gt;\r\n                                                        &lt;dd&gt;&lt;a href="../../zjkd/xyfg/index.htm"&gt;校园风光&lt;/a&gt;&lt;/dd&gt;\r\n                                                        &lt;dd&gt;&lt;a href="../../zjkd/kdgs/index.htm"&gt;科大故事&lt;/a&gt;&lt;/dd&gt;\r\n                                                        &lt;dd&gt;&lt;a href="../../zjkd/xyfc/index.htm"&gt;学员风采&lt;/a&gt;&lt;/dd&gt;\r\n                                                    &lt;/dl&gt;\r\n                    &lt;/div&gt;\r\n                &lt;/li&gt;\r\n                \t\t\t\t            &lt;/ul&gt;\r\n        &lt;/div&gt;\r\n        \r\n    &lt;/div&gt;\r\n    &lt;div class="top gp-container gp-clearFix "&gt;\r\n        &lt;div class="logo effect effect3"&gt;\r\n            &lt;a href="../../index.htm"&gt;&lt;img src="../../images/logo.svg" &gt;&lt;/a&gt;\r\n        &lt;/div&gt;\r\n        &lt;div class="topRight"&gt;\r\n            &lt;div class="topNav gp-white effect effect3"&gt;\r\n                &lt;a target="_blank" href="https://english.nudt.edu.cn/" class="en_site"&gt;EN&lt;/a&gt;\r\n                &lt;div class="topSearch gp-serBtn2 iconfont icon-sousuo pointer" id="gp-serBtn4"&gt;&lt;/div&gt;\r\n                &lt;div class="topMenu"&gt;&lt;/div&gt;\r\n            &lt;/div&gt;\r\n            &lt;div class="gp-search gp-search4 " id="gp-search4"&gt;\r\n                &lt;div class="gp-ser"&gt;\r\n                  &lt;form name="dataForm" action="/cms/web/search/index.jsp" target="_blank" method="post" accept-charset="utf-8" onsubmit="document.charset=\'utf-8\';"&gt;\r\n                    &lt;input name="siteID" value="9de7cc3487344339a90e43bb02ee8afe" type ="hidden"&gt;\r\n                    &lt;input class="notxt" value="请输入关键词检索相关内容" name="query" type="text" id="keywords" onFocus="if(value==defaultValue){value=\'\';}" onBlur="if(!value){value=defaultValue;}"\r\n                     onclick="if(this.value==\'\'){this.value=\'\';this.form.keywords.style.color=\'#fff\'}"&gt;\r\n                    &lt;button class="notxt1 iconfont icon-search" name="Submit" type="submit" value="" &gt;&lt;/button&gt;\r\n                  &lt;/form&gt;\r\n                &lt;/div&gt;\r\n            &lt;/div&gt;\r\n            &lt;!-- 菜单栏 --&gt;\r\n            &lt;div class="menuBox"&gt;\r\n                &lt;div class="menu"&gt;\r\n                    &lt;div class="level2"&gt;\r\n                        &lt;ul class="level2_list gp-white gp-f20" id="nav"&gt;\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t                            &lt;li&gt;&lt;a href="../../xxgk/index.htm"&gt;学校概况&lt;/a&gt;&lt;i class="toggle"&gt;&lt;/i&gt;\r\n                                &lt;ul&gt;\r\n                                                                                                             &lt;li&gt;&lt;a href="../../xxgk/kdjj/index.htm"&gt;科大简介&lt;/a&gt;&lt;/li&gt;\r\n                                                                                                                                                 &lt;li&gt;&lt;a href="../../xxgk/kdxx/index.htm"&gt;科大校训&lt;/a&gt;&lt;/li&gt;\r\n                                                                                                                                                 &lt;li&gt;&lt;a href="../../xxgk/kdxg/index.htm"&gt;科大校歌&lt;/a&gt;&lt;/li&gt;\r\n                                                                                                                                                 &lt;li&gt;&lt;a href="https://www.nudt.edu.cn/xxgk/sjxxsbxt/index.htm"&gt;标识系统&lt;/a&gt;&lt;/li&gt;\r\n                                                                                                        &lt;/ul&gt;\r\n                            &lt;/li&gt;\r\n                                                        \t\t\t\t\t\t\t                            &lt;li&gt;&lt;a href="../../xwgg/index.htm"&gt;新闻公告&lt;/a&gt;&lt;i class="toggle"&gt;&lt;/i&gt;\r\n                                &lt;ul&gt;\r\n                                                                                                             &lt;li&gt;&lt;a href="../../xwgg/kdyw/index.htm"&gt;科大要闻&lt;/a&gt;&lt;/li&gt;\r\n                                                                                                                                                 &lt;li&gt;&lt;a href="../../xwgg/tzgg/index.htm"&gt;通知公告&lt;/a&gt;&lt;/li&gt;\r\n                                                                                                                                                 &lt;li&gt;&lt;a href="../../xwgg/xydt/index.htm"&gt;校园动态&lt;/a&gt;&lt;/li&gt;\r\n                                                                                                                                                 &lt;li&gt;&lt;a href="../../xwgg/hdss/index.htm"&gt;活动赛事&lt;/a&gt;&lt;/li&gt;\r\n                                                                                                        &lt;/ul&gt;\r\n                            &lt;/li&gt;\r\n                                                        \t\t\t\t\t\t\t                            &lt;li&gt;&lt;a href="../../yssz/index.htm"&gt;院所设置&lt;/a&gt;&lt;i class="toggle"&gt;&lt;/i&gt;\r\n                                &lt;ul&gt;\r\n                                                                                                             &lt;li&gt;&lt;a href="../../yssz/lxy/index.htm"&gt;理学院&lt;/a&gt;&lt;/li&gt;\r\n                                                                                                                                                 &lt;li&gt;&lt;a href="../../yssz/jsjxy/index.htm"&gt;计算机学院&lt;/a&gt;&lt;/li&gt;\r\n                                                                                                                                                 &lt;li&gt;&lt;a href="../../yssz/dzkxxy/index.htm"&gt;电子科学学院&lt;/a&gt;&lt;/li&gt;\r\n                                                                                                                                                 &lt;li&gt;&lt;a href="../../yssz/qyjcxkxy/index.htm"&gt;前沿交叉学科学院&lt;/a&gt;&lt;/li&gt;\r\n                                                                                                                                                 &lt;li&gt;&lt;a href="../../yssz/znkxxy/index.htm"&gt;智能科学学院&lt;/a&gt;&lt;/li&gt;\r\n                                                                                                                                                 &lt;li&gt;&lt;a href="../../yssz/xtgcxy/index.htm"&gt;系统工程学院&lt;/a&gt;&lt;/li&gt;\r\n                                                                                                                                                 &lt;li&gt;&lt;a href="../../yssz/ktkxxy/index.htm"&gt;空天科学学院&lt;/a&gt;&lt;/li&gt;\r\n                                                                                                                                                 &lt;li&gt;&lt;a href="../../yssz/gjgxxy/index.htm"&gt;国际关系学院&lt;/a&gt;&lt;/li&gt;\r\n                                                                                                                                                 &lt;li&gt;&lt;a href="../../yssz/xxtxxy/index.htm"&gt;信息通信学院&lt;/a&gt;&lt;/li&gt;\r\n                                                                                                                                                 &lt;li&gt;&lt;a href="../../yssz/dzdkxy/index.htm"&gt;电子对抗学院&lt;/a&gt;&lt;/li&gt;\r\n                                                                                                                                                 &lt;li&gt;&lt;a href="../../yssz/qxhyxy/index.htm"&gt;气象海洋学院&lt;/a&gt;&lt;/li&gt;\r\n                                                                                                                                                 &lt;li&gt;&lt;a href="../../yssz/jzjcjyxy/index.htm"&gt;军政基础教育学院&lt;/a&gt;&lt;/li&gt;\r\n                                                                                                                                                 &lt;li&gt;&lt;a href="http://yjszs.nudt.edu.cn/index/index.view"&gt;研究生院&lt;/a&gt;&lt;/li&gt;\r\n                                                                                                                                                 &lt;li&gt;&lt;a href="../../yssz/dlssyjs/index.htm"&gt;第六十三研究所&lt;/a&gt;&lt;/li&gt;\r\n                                                                                                                                                 &lt;li&gt;&lt;a&gt;试验训练基地&lt;/a&gt;&lt;/li&gt;\r\n                                                                                                        &lt;/ul&gt;\r\n                            &lt;/li&gt;\r\n                                                        \t\t\t\t\t\t\t                            &lt;li&gt;&lt;a href="../index.htm"&gt;师资队伍&lt;/a&gt;&lt;i class="toggle"&gt;&lt;/i&gt;\r\n                                &lt;ul&gt;\r\n                                                                                                             &lt;li&gt;&lt;a href="index.htm"&gt;两院院士&lt;/a&gt;&lt;/li&gt;\r\n                                                                                                                                                 &lt;li&gt;&lt;a href="../gjjcqnkxjjhdz/index.htm"&gt;国家杰出青年科学基金获得者&lt;/a&gt;&lt;/li&gt;\r\n                                                                                                                                                 &lt;li&gt;&lt;a href="../gjyxqnkxjj/index.htm"&gt;国家优秀青年科学基金&lt;/a&gt;&lt;/li&gt;\r\n                                                                                                                                                 &lt;li&gt;&lt;a href="../bqwrcgcgjjrx/index.htm"&gt;百千万人才工程国家级人选&lt;/a&gt;&lt;/li&gt;\r\n                                                                                                                                                 &lt;li&gt;&lt;a href="../gjkxqsjcqnsygcjhdz/index.htm"&gt;国家科协求是杰出青年实用工程奖获得者&lt;/a&gt;&lt;/li&gt;\r\n                                                                                                                                                 &lt;li&gt;&lt;a href="../qgyxkjgzz/index.htm"&gt;全国优秀科技工作者&lt;/a&gt;&lt;/li&gt;\r\n                                                                                                        &lt;/ul&gt;\r\n                            &lt;/li&gt;\r\n                                                        \t\t\t\t\t\t\t                            &lt;li&gt;&lt;a href="../../jyjx/index.htm"&gt;教育教学&lt;/a&gt;&lt;i class="toggle"&gt;&lt;/i&gt;\r\n                                &lt;ul&gt;\r\n                                                                                                             &lt;li&gt;&lt;a href="../../jyjx/jxdt/index.htm"&gt;教学动态&lt;/a&gt;&lt;/li&gt;\r\n                                                                                                                                                 &lt;li&gt;&lt;a href="../../jyjx/jxms/index.htm"&gt;教学名师&lt;/a&gt;&lt;/li&gt;\r\n                                                                                                                                                 &lt;li&gt;&lt;a href="../../jyjx/jpkc/index.htm"&gt;精品课程&lt;/a&gt;&lt;/li&gt;\r\n                                                                                                                                                 &lt;li&gt;&lt;a href="../../jyjx/sjjx/index.htm"&gt;实践教学&lt;/a&gt;&lt;/li&gt;\r\n                                                                                                        &lt;/ul&gt;\r\n                            &lt;/li&gt;\r\n                                                        \t\t\t\t\t\t\t                            &lt;li&gt;&lt;a href="../../kxyj/index.htm"&gt;科学研究&lt;/a&gt;&lt;i class="toggle"&gt;&lt;/i&gt;\r\n                                &lt;ul&gt;\r\n                                                                                                             &lt;li&gt;&lt;a href="../../kxyj/kydt/index.htm"&gt;科研动态&lt;/a&gt;&lt;/li&gt;\r\n                                                                                                                                                 &lt;li&gt;&lt;a href="../../kxyj/xsqk/index.htm"&gt;学术期刊&lt;/a&gt;&lt;/li&gt;\r\n                                                                                                        &lt;/ul&gt;\r\n                            &lt;/li&gt;\r\n                                                        \t\t\t\t\t\t\t                            &lt;li&gt;&lt;a href="../../hzjl/index.htm"&gt;合作交流&lt;/a&gt;&lt;/li&gt;\r\n                                                        \t\t\t\t\t\t\t                            &lt;li&gt;&lt;a href="../../zsjy/index.htm"&gt;招生就业&lt;/a&gt;&lt;i class="toggle"&gt;&lt;/i&gt;\r\n                                &lt;ul&gt;\r\n                                                                                                             &lt;li&gt;&lt;a href="../../zsjy/bkszsw/index.htm"&gt;本科生招生网&lt;/a&gt;&lt;/li&gt;\r\n                                                                                                                                                 &lt;li&gt;&lt;a href="../../zsjy/yjszsw/index.htm"&gt;研究生招生网&lt;/a&gt;&lt;/li&gt;\r\n                                                                                                                                                 &lt;li&gt;&lt;a href="../../zsjy/jyxxw/index.htm"&gt;就业信息网&lt;/a&gt;&lt;/li&gt;\r\n                                                                                                        &lt;/ul&gt;\r\n                            &lt;/li&gt;\r\n                                                        \t\t\t\t\t\t\t                            &lt;li&gt;&lt;a href="../../zjkd/index.htm"&gt;走进科大&lt;/a&gt;&lt;i class="toggle"&gt;&lt;/i&gt;\r\n                                &lt;ul&gt;\r\n                                                                                                             &lt;li&gt;&lt;a href="../../zjkd/xysh/index.htm"&gt;校园生活&lt;/a&gt;&lt;/li&gt;\r\n                                                                                                                                                 &lt;li&gt;&lt;a href="../../zjkd/xyfg/index.htm"&gt;校园风光&lt;/a&gt;&lt;/li&gt;\r\n                                                                                                                                                 &lt;li&gt;&lt;a href="../../zjkd/kdgs/index.htm"&gt;科大故事&lt;/a&gt;&lt;/li&gt;\r\n                                                                                                                                                 &lt;li&gt;&lt;a href="../../zjkd/xyfc/index.htm"&gt;学员风采&lt;/a&gt;&lt;/li&gt;\r\n                                                                                                        &lt;/ul&gt;\r\n                            &lt;/li&gt;\r\n                                                                                &lt;/ul&gt;\r\n                        &lt;div class="links"&gt;\r\n                            &lt;a target="_blank" href="../../rczp/index.htm" class="gp-f14"&gt;人才招聘&lt;/a&gt;\r\n                            &lt;a target="_blank" href="../../cgxx/index.htm" class="gp-f14"&gt;采购信息&lt;/a&gt;\r\n                            &lt;a target="_blank" href="http://library.nudt.edu.cn/" class="gp-f14"&gt;图书馆&lt;/a&gt; \r\n                            &lt;a target="_blank" href="https://mail.nudt.edu.cn/" class="gp-f14"&gt;邮箱&lt;/a&gt;\r\n                            &lt;a target="_blank" href="https://www.nudt.edu.cn/press/index.htm" class="gp-f14"&gt;出版社&lt;/a&gt;\r\n                        &lt;/div&gt;\r\n                    &lt;/div&gt;\r\n                    &lt;div class="level3"&gt;\r\n                        &lt;ul class="gp-f16"&gt;&lt;/ul&gt;\r\n                        &lt;img src="../../images/menu_level3_bg.png" alt="" class="menu_bg3"&gt;\r\n                    &lt;/div&gt;\r\n                &lt;/div&gt;\r\n            &lt;/div&gt;\r\n            &lt;!-- 搜索背景 --&gt;\r\n            &lt;span class="gp-overlay"&gt;&lt;div class="close"&gt;&lt;/div&gt;&lt;/span&gt;\r\n        &lt;/div&gt;\r\n    &lt;/div&gt;\r\n&lt;/header&gt;\r\n\t&lt;!-- banner开始 --&gt;\r\n\t\n&lt;div class="subBanner"&gt;\r\n \r\n  &lt;div class="gp-img-responsive"&gt;&lt;img src="../../images/banner_intro.png" alt=""&gt;&lt;/div&gt;\r\n\t\t\r\n\t\t&lt;div class="currentPage gp-white"&gt;\r\n\t\t\t&lt;div class="gp-container2 flex"&gt;\r\n\t\t\t       &lt;div class="pageTitle gp-f40"&gt;师资队伍&lt;/div&gt; \r\n  \t\t\t\t&lt;div class="bread gp-f20"&gt;\r\n\t\t\t\t    &lt;a href="../../index.htm"&gt;首页&lt;/a&gt;&lt;span&gt; / &lt;/span&gt;\r\n&lt;a href="../index.htm"&gt;师资队伍&lt;/a&gt;&lt;span&gt; / &lt;/span&gt;\r\n    &lt;a href="index.htm"&gt;两院院士&lt;/a&gt;\r\n\t\t\t\t&lt;/div&gt;\r\n\t\t\t&lt;/div&gt;\r\n\t\t&lt;/div&gt;\r\n\t&lt;/div&gt;\t&lt;!-- banner结束 --&gt;\r\n\r\n\t&lt;!--content开始--&gt;\r\n\t&lt;div class="subContent"&gt;\r\n\t\t&lt;div class="flex gp-container2 research  campusLife "&gt;\r\n\t\t\t&lt;div class="gp-left"&gt;\r\n\t\t\t\t\n\t\t&lt;aside class="gp-subLeft gp-f20" id="gp-subLeft"&gt;\n\t\t\t\t\t&lt;ul&gt;\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t  &lt;li&gt;&lt;a class="active" href="index.htm"&gt;两院院士&lt;/a&gt;\n\t\t\t\t\t &lt;strong class="gp-toggles iconfont icon-a-gong1"&gt;&lt;/strong&gt;\n\t\t\t\t\t \n\t\t\t\t\t\t&lt;dl class="gp-second-nav"&gt;\n\t\t\t\t\t\t    \t\t\t\t\t\t  &lt;dd&gt;&lt;a href="zgkxyys/index.htm"&gt;中国科学院院士&lt;/a&gt;&lt;/dd&gt;\n\t\t\t\t\t\t  \t\t\t\t\t\t  &lt;dd&gt;&lt;a href="zggcyys/index.htm"&gt;中国工程院院士&lt;/a&gt;&lt;/dd&gt;\n\t\t\t\t\t\t  \t\t\t\t\t\t&lt;/dl&gt; \n\t\t\t\t\t  &lt;/li&gt;\n\t\t\t\t\t  \t\t\t\t\t  \t\t\t\t\t\t\t\t\t\t  &lt;li&gt;&lt;a class="active" href="../gjjcqnkxjjhdz/index.htm"&gt;国家杰出青年科学基金获得者&lt;/a&gt;\n\t\t\t\t\t &lt;strong class="gp-toggles iconfont icon-a-gong1"&gt;&lt;/strong&gt;\n\t\t\t\t\t \n\t\t\t\t\t\t&lt;dl class="gp-second-nav"&gt;\n\t\t\t\t\t\t    \t\t\t\t\t\t  &lt;dd&gt;&lt;a href="../gjjcqnkxjjhdz/jcqn2020n/index.htm"&gt;2020年&lt;/a&gt;&lt;/dd&gt;\n\t\t\t\t\t\t  \t\t\t\t\t\t  &lt;dd&gt;&lt;a href="../gjjcqnkxjjhdz/jcqn2019n/index.htm"&gt;2019年&lt;/a&gt;&lt;/dd&gt;\n\t\t\t\t\t\t  \t\t\t\t\t\t  &lt;dd&gt;&lt;a href="../gjjcqnkxjjhdz/jcqn2018n/index.htm"&gt;2018年&lt;/a&gt;&lt;/dd&gt;\n\t\t\t\t\t\t  \t\t\t\t\t\t  &lt;dd&gt;&lt;a href="../gjjcqnkxjjhdz/jcqn2017n/index.htm"&gt;2017年&lt;/a&gt;&lt;/dd&gt;\n\t\t\t\t\t\t  \t\t\t\t\t\t  &lt;dd&gt;&lt;a href="../gjjcqnkxjjhdz/jcqn2016n/index.htm"&gt;2016年&lt;/a&gt;&lt;/dd&gt;\n\t\t\t\t\t\t  \t\t\t\t\t\t  &lt;dd&gt;&lt;a href="../gjjcqnkxjjhdz/jcqn2011n/index.htm"&gt;2011年&lt;/a&gt;&lt;/dd&gt;\n\t\t\t\t\t\t  \t\t\t\t\t\t  &lt;dd&gt;&lt;a href="../gjjcqnkxjjhdz/jcqn2010n/index.htm"&gt;2010年&lt;/a&gt;&lt;/dd&gt;\n\t\t\t\t\t\t  \t\t\t\t\t\t  &lt;dd&gt;&lt;a href="../gjjcqnkxjjhdz/jcqn2007n/index.htm"&gt;2007年&lt;/a&gt;&lt;/dd&gt;\n\t\t\t\t\t\t  \t\t\t\t\t\t  &lt;dd&gt;&lt;a href="../gjjcqnkxjjhdz/jcqn2006n/index.htm"&gt;2006年&lt;/a&gt;&lt;/dd&gt;\n\t\t\t\t\t\t  \t\t\t\t\t\t  &lt;dd&gt;&lt;a href="../gjjcqnkxjjhdz/jcqn2002n/index.htm"&gt;2002年&lt;/a&gt;&lt;/dd&gt;\n\t\t\t\t\t\t  \t\t\t\t\t\t  &lt;dd&gt;&lt;a href="../gjjcqnkxjjhdz/jcqn2000n/index.htm"&gt;2000年&lt;/a&gt;&lt;/dd&gt;\n\t\t\t\t\t\t  \t\t\t\t\t\t  &lt;dd&gt;&lt;a href="../gjjcqnkxjjhdz/jcqn1999n/index.htm"&gt;1999年&lt;/a&gt;&lt;/dd&gt;\n\t\t\t\t\t\t  \t\t\t\t\t\t  &lt;dd&gt;&lt;a href="../gjjcqnkxjjhdz/jcqn1998n/index.htm"&gt;1998年&lt;/a&gt;&lt;/dd&gt;\n\t\t\t\t\t\t  \t\t\t\t\t\t&lt;/dl&gt; \n\t\t\t\t\t  &lt;/li&gt;\n\t\t\t\t\t  \t\t\t\t\t  \t\t\t\t\t\t\t\t\t\t  &lt;li&gt;&lt;a class="active" href="../gjyxqnkxjj/index.htm"&gt;国家优秀青年科学基金&lt;/a&gt;\n\t\t\t\t\t &lt;strong class="gp-toggles iconfont icon-a-gong1"&gt;&lt;/strong&gt;\n\t\t\t\t\t \n\t\t\t\t\t\t&lt;dl class="gp-second-nav"&gt;\n\t\t\t\t\t\t    \t\t\t\t\t\t  &lt;dd&gt;&lt;a href="../gjyxqnkxjj/yxqn2019n/index.htm"&gt;2019年&lt;/a&gt;&lt;/dd&gt;\n\t\t\t\t\t\t  \t\t\t\t\t\t  &lt;dd&gt;&lt;a href="../gjyxqnkxjj/yxqn2017n/index.htm"&gt;2017年&lt;/a&gt;&lt;/dd&gt;\n\t\t\t\t\t\t  \t\t\t\t\t\t  &lt;dd&gt;&lt;a href="../gjyxqnkxjj/yxqn2016n/index.htm"&gt;2016年&lt;/a&gt;&lt;/dd&gt;\n\t\t\t\t\t\t  \t\t\t\t\t\t  &lt;dd&gt;&lt;a href="../gjyxqnkxjj/yxqn2015n/index.htm"&gt;2015年&lt;/a&gt;&lt;/dd&gt;\n\t\t\t\t\t\t  \t\t\t\t\t\t  &lt;dd&gt;&lt;a href="../gjyxqnkxjj/yxqn2014n/index.htm"&gt;2014年&lt;/a&gt;&lt;/dd&gt;\n\t\t\t\t\t\t  \t\t\t\t\t\t  &lt;dd&gt;&lt;a href="../gjyxqnkxjj/yxqn2013n/index.htm"&gt;2013年&lt;/a&gt;&lt;/dd&gt;\n\t\t\t\t\t\t  \t\t\t\t\t\t  &lt;dd&gt;&lt;a href="../gjyxqnkxjj/yxqn2012n/index.htm"&gt;2012年&lt;/a&gt;&lt;/dd&gt;\n\t\t\t\t\t\t  \t\t\t\t\t\t&lt;/dl&gt; \n\t\t\t\t\t  &lt;/li&gt;\n\t\t\t\t\t  \t\t\t\t\t  \t\t\t\t\t\t\t\t\t\t  &lt;li&gt;&lt;a class="active" href="../bqwrcgcgjjrx/index.htm"&gt;百千万人才工程国家级人选&lt;/a&gt;\n\t\t\t\t\t &lt;strong class="gp-toggles iconfont icon-a-gong1"&gt;&lt;/strong&gt;\n\t\t\t\t\t \n\t\t\t\t\t\t&lt;dl class="gp-second-nav"&gt;\n\t\t\t\t\t\t    \t\t\t\t\t\t  &lt;dd&gt;&lt;a href="../bqwrcgcgjjrx/bqwrc2020n/index.htm"&gt;2020年&lt;/a&gt;&lt;/dd&gt;\n\t\t\t\t\t\t  \t\t\t\t\t\t  &lt;dd&gt;&lt;a href="../bqwrcgcgjjrx/bqwrc2019n/index.htm"&gt;2019年&lt;/a&gt;&lt;/dd&gt;\n\t\t\t\t\t\t  \t\t\t\t\t\t  &lt;dd&gt;&lt;a href="../bqwrcgcgjjrx/bqwrc2017n/index.htm"&gt;2017年&lt;/a&gt;&lt;/dd&gt;\n\t\t\t\t\t\t  \t\t\t\t\t\t  &lt;dd&gt;&lt;a href="../bqwrcgcgjjrx/bqwrc2015n/index.htm"&gt;2015年&lt;/a&gt;&lt;/dd&gt;\n\t\t\t\t\t\t  \t\t\t\t\t\t  &lt;dd&gt;&lt;a href="../bqwrcgcgjjrx/bqwrc2014n/index.htm"&gt;2014年&lt;/a&gt;&lt;/dd&gt;\n\t\t\t\t\t\t  \t\t\t\t\t\t  &lt;dd&gt;&lt;a href="../bqwrcgcgjjrx/bqwrc2013n/index.htm"&gt;2013年&lt;/a&gt;&lt;/dd&gt;\n\t\t\t\t\t\t  \t\t\t\t\t\t  &lt;dd&gt;&lt;a href="../bqwrcgcgjjrx/bqwrc2009n/index.htm"&gt;2009年&lt;/a&gt;&lt;/dd&gt;\n\t\t\t\t\t\t  \t\t\t\t\t\t  &lt;dd&gt;&lt;a href="../bqwrcgcgjjrx/bqwrc2007n/index.htm"&gt;2007年&lt;/a&gt;&lt;/dd&gt;\n\t\t\t\t\t\t  \t\t\t\t\t\t  &lt;dd&gt;&lt;a href="../bqwrcgcgjjrx/bqwrc2006n/index.htm"&gt;2006年&lt;/a&gt;&lt;/dd&gt;\n\t\t\t\t\t\t  \t\t\t\t\t\t  &lt;dd&gt;&lt;a href="../bqwrcgcgjjrx/bqwrc2004n/index.htm"&gt;2004年&lt;/a&gt;&lt;/dd&gt;\n\t\t\t\t\t\t  \t\t\t\t\t\t  &lt;dd&gt;&lt;a href="../bqwrcgcgjjrx/bqwrc1999n/index.htm"&gt;1999年&lt;/a&gt;&lt;/dd&gt;\n\t\t\t\t\t\t  \t\t\t\t\t\t  &lt;dd&gt;&lt;a href="../bqwrcgcgjjrx/bqwrc1997n/index.htm"&gt;1997年&lt;/a&gt;&lt;/dd&gt;\n\t\t\t\t\t\t  \t\t\t\t\t\t  &lt;dd&gt;&lt;a href="../bqwrcgcgjjrx/bqwrc1996n/index.htm"&gt;1996年&lt;/a&gt;&lt;/dd&gt;\n\t\t\t\t\t\t  \t\t\t\t\t\t&lt;/dl&gt; \n\t\t\t\t\t  &lt;/li&gt;\n\t\t\t\t\t  \t\t\t\t\t  \t\t\t\t\t\t\t\t\t\t  &lt;li&gt;&lt;a class="active" href="../gjkxqsjcqnsygcjhdz/index.htm"&gt;国家科协求是杰出青年实用工程奖获得者&lt;/a&gt;\n\t\t\t\t\t &lt;strong class="gp-toggles iconfont icon-a-gong1"&gt;&lt;/strong&gt;\n\t\t\t\t\t \n\t\t\t\t\t\t&lt;dl class="gp-second-nav"&gt;\n\t\t\t\t\t\t    \t\t\t\t\t\t  &lt;dd&gt;&lt;a href="../gjkxqsjcqnsygcjhdz/gjkxqsjcqn2019n/index.htm"&gt;2019年&lt;/a&gt;&lt;/dd&gt;\n\t\t\t\t\t\t  \t\t\t\t\t\t  &lt;dd&gt;&lt;a href="../gjkxqsjcqnsygcjhdz/gjkxqsjcqn2018n/index.htm"&gt;2018年&lt;/a&gt;&lt;/dd&gt;\n\t\t\t\t\t\t  \t\t\t\t\t\t  &lt;dd&gt;&lt;a href="../gjkxqsjcqnsygcjhdz/gjkxqsjcqn2017n/index.htm"&gt;2017年&lt;/a&gt;&lt;/dd&gt;\n\t\t\t\t\t\t  \t\t\t\t\t\t  &lt;dd&gt;&lt;a href="../gjkxqsjcqnsygcjhdz/gjkxqsjcqn2016n/index.htm"&gt;2016年&lt;/a&gt;&lt;/dd&gt;\n\t\t\t\t\t\t  \t\t\t\t\t\t  &lt;dd&gt;&lt;a href="../gjkxqsjcqnsygcjhdz/gjkxqsjcqn2015n/index.htm"&gt;2015年&lt;/a&gt;&lt;/dd&gt;\n\t\t\t\t\t\t  \t\t\t\t\t\t  &lt;dd&gt;&lt;a href="../gjkxqsjcqnsygcjhdz/gjkxqsjcqn2014n/index.htm"&gt;2014年&lt;/a&gt;&lt;/dd&gt;\n\t\t\t\t\t\t  \t\t\t\t\t\t  &lt;dd&gt;&lt;a href="../gjkxqsjcqnsygcjhdz/gjkxqsjcqn2013n/index.htm"&gt;2013年&lt;/a&gt;&lt;/dd&gt;\n\t\t\t\t\t\t  \t\t\t\t\t\t  &lt;dd&gt;&lt;a href="../gjkxqsjcqnsygcjhdz/gjkxqsjcqn2012n/index.htm"&gt;2012年&lt;/a&gt;&lt;/dd&gt;\n\t\t\t\t\t\t  \t\t\t\t\t\t  &lt;dd&gt;&lt;a href="../gjkxqsjcqnsygcjhdz/gjkxqsjcqn2011n/index.htm"&gt;2011年&lt;/a&gt;&lt;/dd&gt;\n\t\t\t\t\t\t  \t\t\t\t\t\t  &lt;dd&gt;&lt;a href="../gjkxqsjcqnsygcjhdz/gjkxqsjcqn2010n/index.htm"&gt;2010年&lt;/a&gt;&lt;/dd&gt;\n\t\t\t\t\t\t  \t\t\t\t\t\t  &lt;dd&gt;&lt;a href="../gjkxqsjcqnsygcjhdz/gjkxqsjcqn2009n/index.htm"&gt;2009年&lt;/a&gt;&lt;/dd&gt;\n\t\t\t\t\t\t  \t\t\t\t\t\t  &lt;dd&gt;&lt;a href="../gjkxqsjcqnsygcjhdz/gjkxqsjcqn2008n/index.htm"&gt;2008年&lt;/a&gt;&lt;/dd&gt;\n\t\t\t\t\t\t  \t\t\t\t\t\t  &lt;dd&gt;&lt;a href="../gjkxqsjcqnsygcjhdz/gjkxqsjcqn2007n/index.htm"&gt;2007年&lt;/a&gt;&lt;/dd&gt;\n\t\t\t\t\t\t  \t\t\t\t\t\t  &lt;dd&gt;&lt;a href="../gjkxqsjcqnsygcjhdz/gjkxqsjcqn2006n/index.htm"&gt;2006年&lt;/a&gt;&lt;/dd&gt;\n\t\t\t\t\t\t  \t\t\t\t\t\t  &lt;dd&gt;&lt;a href="../gjkxqsjcqnsygcjhdz/gjkxqsjcqn2005n/index.htm"&gt;2005年&lt;/a&gt;&lt;/dd&gt;\n\t\t\t\t\t\t  \t\t\t\t\t\t  &lt;dd&gt;&lt;a href="../gjkxqsjcqnsygcjhdz/gjkxqsjcqn2004n/index.htm"&gt;2004年&lt;/a&gt;&lt;/dd&gt;\n\t\t\t\t\t\t  \t\t\t\t\t\t  &lt;dd&gt;&lt;a href="../gjkxqsjcqnsygcjhdz/gjkxqsjcqn2002n/index.htm"&gt;2002年&lt;/a&gt;&lt;/dd&gt;\n\t\t\t\t\t\t  \t\t\t\t\t\t  &lt;dd&gt;&lt;a href="../gjkxqsjcqnsygcjhdz/gjkxqsjcqn2001n/index.htm"&gt;2001年&lt;/a&gt;&lt;/dd&gt;\n\t\t\t\t\t\t  \t\t\t\t\t\t  &lt;dd&gt;&lt;a href="../gjkxqsjcqnsygcjhdz/gjkxqsjcqn2000n/index.htm"&gt;2000年&lt;/a&gt;&lt;/dd&gt;\n\t\t\t\t\t\t  \t\t\t\t\t\t  &lt;dd&gt;&lt;a href="../gjkxqsjcqnsygcjhdz/gjkxqsjcqn1999n/index.htm"&gt;1999年&lt;/a&gt;&lt;/dd&gt;\n\t\t\t\t\t\t  \t\t\t\t\t\t  &lt;dd&gt;&lt;a href="../gjkxqsjcqnsygcjhdz/gjkxqsjcqn1998n/index.htm"&gt;1998年&lt;/a&gt;&lt;/dd&gt;\n\t\t\t\t\t\t  \t\t\t\t\t\t&lt;/dl&gt; \n\t\t\t\t\t  &lt;/li&gt;\n\t\t\t\t\t  \t\t\t\t\t  \t\t\t\t\t\t\t\t\t\t  &lt;li&gt;&lt;a class="active" href="../qgyxkjgzz/index.htm"&gt;全国优秀科技工作者&lt;/a&gt;\n\t\t\t\t\t &lt;strong class="gp-toggles iconfont icon-a-gong1"&gt;&lt;/strong&gt;\n\t\t\t\t\t \n\t\t\t\t\t\t&lt;dl class="gp-second-nav"&gt;\n\t\t\t\t\t\t    \t\t\t\t\t\t  &lt;dd&gt;&lt;a href="../qgyxkjgzz/yxkjgzz2016n/index.htm"&gt;2016年&lt;/a&gt;&lt;/dd&gt;\n\t\t\t\t\t\t  \t\t\t\t\t\t  &lt;dd&gt;&lt;a href="../qgyxkjgzz/yxkjgzz2014n/index.htm"&gt;2014年&lt;/a&gt;&lt;/dd&gt;\n\t\t\t\t\t\t  \t\t\t\t\t\t  &lt;dd&gt;&lt;a href="../qgyxkjgzz/yxkjgzz2012n/index.htm"&gt;2012年&lt;/a&gt;&lt;/dd&gt;\n\t\t\t\t\t\t  \t\t\t\t\t\t  &lt;dd&gt;&lt;a href="../qgyxkjgzz/yxkjgzz2010n/index.htm"&gt;2010年&lt;/a&gt;&lt;/dd&gt;\n\t\t\t\t\t\t  \t\t\t\t\t\t  &lt;dd&gt;&lt;a href="../qgyxkjgzz/yxkjgzz2005n/index.htm"&gt;2005年&lt;/a&gt;&lt;/dd&gt;\n\t\t\t\t\t\t  \t\t\t\t\t\t  &lt;dd&gt;&lt;a href="../qgyxkjgzz/yxkjgzz2001n/index.htm"&gt;2001年&lt;/a&gt;&lt;/dd&gt;\n\t\t\t\t\t\t  \t\t\t\t\t\t  &lt;dd&gt;&lt;a href="../qgyxkjgzz/yxkjgzz1997n/index.htm"&gt;1997年&lt;/a&gt;&lt;/dd&gt;\n\t\t\t\t\t\t  \t\t\t\t\t\t&lt;/dl&gt; \n\t\t\t\t\t  &lt;/li&gt;\n\t\t\t\t\t  \t\t\t\t\t  \t\t\t\t\t&lt;/ul&gt;\n\t\t\t\t  &lt;/aside&gt;\n\t\t\t\t  &lt;!-- 移动端二级导航开始 --&gt;\n\t\t\t\t  &lt;div class="gp-m-subNav" id="gp-m-subNav"&gt;\n\t\t\t\t\t&lt;div class="gp-m-inner-header"&gt;\n\t\t\t\t\t  &lt;span&gt;两院院士&lt;/span&gt;\n\t\t\t\t\t  &lt;div class="gp-m-inner-header-icon gp-m-inner-header-icon-out"&gt;\n\t\t\t\t\t\t&lt;i class="iconfont icon-jia"&gt;&lt;/i&gt;\n\t\t\t\t\t  &lt;/div&gt;\n\t\t\t\t\t&lt;/div&gt;\n\t\t\t\t\t&lt;aside class="gp-subNavm"&gt;\n\t\t\t\t\t  &lt;ul&gt;\n\t\t\t\t\t    \t\t\t\t\t\t\t\t\t\t\t\t&lt;li&gt;&lt;a href="index.htm"&gt;两院院士&lt;/a&gt;&lt;strong class="gp-m-toggle iconfont icon-right"&gt;&lt;/strong&gt;\n\t\t\t\t\t\t  &lt;dl&gt;\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t&lt;dd&gt;&lt;a href="zgkxyys/index.htm"&gt;中国科学院院士&lt;/a&gt;&lt;/dd&gt;\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t&lt;dd&gt;&lt;a href="zggcyys/index.htm"&gt;中国工程院院士&lt;/a&gt;&lt;/dd&gt;\n\t\t\t\t\t\t\t\t\t\t\t\t\t  &lt;/dl&gt;\n\t\t\t\t\t\t&lt;/li&gt;\n\t\t\t\t\t\t\t\t\t\t        \t\t\t\t\t\t\t\t\t\t\t\t&lt;li&gt;&lt;a href="../gjjcqnkxjjhdz/index.htm"&gt;国家杰出青年科学基金获得者&lt;/a&gt;&lt;/li&gt;\n\t\t\t\t        \t\t\t\t        \t\t\t\t\t\t\t\t\t\t\t\t&lt;li&gt;&lt;a href="../gjyxqnkxjj/index.htm"&gt;国家优秀青年科学基金&lt;/a&gt;&lt;/li&gt;\n\t\t\t\t        \t\t\t\t        \t\t\t\t\t\t\t\t\t\t\t\t&lt;li&gt;&lt;a href="../bqwrcgcgjjrx/index.htm"&gt;百千万人才工程国家级人选&lt;/a&gt;&lt;/li&gt;\n\t\t\t\t        \t\t\t\t        \t\t\t\t\t\t\t\t\t\t\t\t&lt;li&gt;&lt;a href="../gjkxqsjcqnsygcjhdz/index.htm"&gt;国家科协求是杰出青年实用工程奖获得者&lt;/a&gt;&lt;/li&gt;\n\t\t\t\t        \t\t\t\t        \t\t\t\t\t\t\t\t\t\t\t\t&lt;li&gt;&lt;a href="../qgyxkjgzz/index.htm"&gt;全国优秀科技工作者&lt;/a&gt;&lt;/li&gt;\n\t\t\t\t        \t\t\t\t        \t\t\t\t\t  &lt;/ul&gt;\n\t\t\t\t\t&lt;/aside&gt;\n\t\t\t\t  &lt;/div&gt;\t\t\t&lt;/div&gt;\r\n\t\t\t&lt;div class="gp-right"&gt;\r\n\t\t\t\t&lt;div class="curTitle gp-f30"&gt;&lt;a href="javascript:;"&gt;两院院士&lt;/a&gt;&lt;/div&gt;\r\n\t\t\t\t&lt;div class="faculty"&gt;\r\n\t\t\t\t\t&lt;div class="facultyInfo gp-f16"&gt;\r\n\t\t\t\t\t\t        院士是学术界给予科学家的最高荣誉称号。\r\n       \t\t\t\t\t&lt;/div&gt;\r\n\t\t\t\t\t&lt;div class="academician"&gt;\r\n\t\t\t\t\t\t&lt;div class="facultyList2"&gt;\r\n\t\t\t\t\t\t\t&lt;h3 class="gp-f24"&gt;中国科学院院士&lt;/h3&gt;\r\n\t\t\t\t\t\t\t&lt;ul class="facultyList1 "&gt;\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t&lt;li class="gp-f24"&gt;\r\n\t\t\t\t\t\t\t\t\t&lt;div class="zs"&gt;&lt;/div&gt;\r\n\t\t\t\t\t\t\t\t\t&lt;div class="year"&gt;2021年&lt;/div&gt;\r\n\t\t\t\t\t\t\t\t\t&lt;div class="teachers"&gt;\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t&lt;a&gt;黎湘&lt;/a&gt;\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t&lt;/div&gt;\r\n\t\t\t\t\t\t\t\t&lt;/li&gt;\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t&lt;li class="gp-f24"&gt;\r\n\t\t\t\t\t\t\t\t\t&lt;div class="zs"&gt;&lt;/div&gt;\r\n\t\t\t\t\t\t\t\t\t&lt;div class="year"&gt;2019年&lt;/div&gt;\r\n\t\t\t\t\t\t\t\t\t&lt;div class="teachers"&gt;\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t&lt;a&gt;李东旭&lt;/a&gt;\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t&lt;a&gt;王怀民&lt;/a&gt;\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t&lt;/div&gt;\r\n\t\t\t\t\t\t\t\t&lt;/li&gt;\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t&lt;li class="gp-f24"&gt;\r\n\t\t\t\t\t\t\t\t\t&lt;div class="zs"&gt;&lt;/div&gt;\r\n\t\t\t\t\t\t\t\t\t&lt;div class="year"&gt;2015年&lt;/div&gt;\r\n\t\t\t\t\t\t\t\t\t&lt;div class="teachers"&gt;\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t&lt;a&gt;邓小刚&lt;/a&gt;\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t&lt;/div&gt;\r\n\t\t\t\t\t\t\t\t&lt;/li&gt;\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t&lt;li class="gp-f24"&gt;\r\n\t\t\t\t\t\t\t\t\t&lt;div class="zs"&gt;&lt;/div&gt;\r\n\t\t\t\t\t\t\t\t\t&lt;div class="year"&gt;2011年&lt;/div&gt;\r\n\t\t\t\t\t\t\t\t\t&lt;div class="teachers"&gt;\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t&lt;a&gt;杨学军&lt;/a&gt;\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t&lt;/div&gt;\r\n\t\t\t\t\t\t\t\t&lt;/li&gt;\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t&lt;li class="gp-f24"&gt;\r\n\t\t\t\t\t\t\t\t\t&lt;div class="zs"&gt;&lt;/div&gt;\r\n\t\t\t\t\t\t\t\t\t&lt;div class="year"&gt;2009年&lt;/div&gt;\r\n\t\t\t\t\t\t\t\t\t&lt;div class="teachers"&gt;\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t&lt;a&gt;于起峰&lt;/a&gt;\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t&lt;/div&gt;\r\n\t\t\t\t\t\t\t\t&lt;/li&gt;\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t&lt;li class="gp-f24"&gt;\r\n\t\t\t\t\t\t\t\t\t&lt;div class="zs"&gt;&lt;/div&gt;\r\n\t\t\t\t\t\t\t\t\t&lt;div class="year"&gt;2001年&lt;/div&gt;\r\n\t\t\t\t\t\t\t\t\t&lt;div class="teachers"&gt;\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t&lt;a&gt;李崇银&lt;/a&gt;\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t&lt;/div&gt;\r\n\t\t\t\t\t\t\t\t&lt;/li&gt;\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t&lt;li class="gp-f24"&gt;\r\n\t\t\t\t\t\t\t\t\t&lt;div class="zs"&gt;&lt;/div&gt;\r\n\t\t\t\t\t\t\t\t\t&lt;div class="year"&gt;1993年&lt;/div&gt;\r\n\t\t\t\t\t\t\t\t\t&lt;div class="teachers"&gt;\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t&lt;a&gt;周兴铭&lt;/a&gt;\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t&lt;/div&gt;\r\n\t\t\t\t\t\t\t\t&lt;/li&gt;\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t&lt;li class="gp-f24"&gt;\r\n\t\t\t\t\t\t\t\t\t&lt;div class="zs"&gt;&lt;/div&gt;\r\n\t\t\t\t\t\t\t\t\t&lt;div class="year"&gt;1980年&lt;/div&gt;\r\n\t\t\t\t\t\t\t\t\t&lt;div class="teachers"&gt;\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t&lt;a&gt;慈云桂&lt;/a&gt;\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t&lt;/div&gt;\r\n\t\t\t\t\t\t\t\t&lt;/li&gt;\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t&lt;/ul&gt; \r\n\t\t\t\t\t\t&lt;/div&gt;\r\n\t\t\t\t\t\t&lt;div class="facultyList2"&gt;\r\n\t\t\t\t\t\t\t&lt;h3 class="gp-f24"&gt;中国工程院院士&lt;/h3&gt;\r\n\t\t\t\t\t\t\t&lt;ul class="facultyList1 "&gt;\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t&lt;li class="gp-f24"&gt;\r\n\t\t\t\t\t\t\t\t\t&lt;div class="zs"&gt;&lt;/div&gt;\r\n\t\t\t\t\t\t\t\t\t&lt;div class="year"&gt;2019年&lt;/div&gt;\r\n\t\t\t\t\t\t\t\t\t&lt;div class="teachers"&gt;\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t&lt;a&gt;姚富强&lt;/a&gt;\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t&lt;/div&gt;\r\n\t\t\t\t\t\t\t\t&lt;/li&gt;\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t&lt;li class="gp-f24"&gt;\r\n\t\t\t\t\t\t\t\t\t&lt;div class="zs"&gt;&lt;/div&gt;\r\n\t\t\t\t\t\t\t\t\t&lt;div class="year"&gt;2017年&lt;/div&gt;\r\n\t\t\t\t\t\t\t\t\t&lt;div class="teachers"&gt;\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t&lt;a&gt;刘泽金&lt;/a&gt;\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t&lt;a&gt;王振国&lt;/a&gt;\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t&lt;/div&gt;\r\n\t\t\t\t\t\t\t\t&lt;/li&gt;\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t&lt;li class="gp-f24"&gt;\r\n\t\t\t\t\t\t\t\t\t&lt;div class="zs"&gt;&lt;/div&gt;\r\n\t\t\t\t\t\t\t\t\t&lt;div class="year"&gt;2015年&lt;/div&gt;\r\n\t\t\t\t\t\t\t\t\t&lt;div class="teachers"&gt;\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t&lt;a&gt;廖湘科&lt;/a&gt;\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t&lt;/div&gt;\r\n\t\t\t\t\t\t\t\t&lt;/li&gt;\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t&lt;li class="gp-f24"&gt;\r\n\t\t\t\t\t\t\t\t\t&lt;div class="zs"&gt;&lt;/div&gt;\r\n\t\t\t\t\t\t\t\t\t&lt;div class="year"&gt;2013年&lt;/div&gt;\r\n\t\t\t\t\t\t\t\t\t&lt;div class="teachers"&gt;\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t&lt;a&gt;宋君强&lt;/a&gt;\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t&lt;/div&gt;\r\n\t\t\t\t\t\t\t\t&lt;/li&gt;\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t&lt;li class="gp-f24"&gt;\r\n\t\t\t\t\t\t\t\t\t&lt;div class="zs"&gt;&lt;/div&gt;\r\n\t\t\t\t\t\t\t\t\t&lt;div class="year"&gt;1999年&lt;/div&gt;\r\n\t\t\t\t\t\t\t\t\t&lt;div class="teachers"&gt;\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t&lt;a&gt;卢锡城&lt;/a&gt;\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t&lt;/div&gt;\r\n\t\t\t\t\t\t\t\t&lt;/li&gt;\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t&lt;li class="gp-f24"&gt;\r\n\t\t\t\t\t\t\t\t\t&lt;div class="zs"&gt;&lt;/div&gt;\r\n\t\t\t\t\t\t\t\t\t&lt;div class="year"&gt;1997年&lt;/div&gt;\r\n\t\t\t\t\t\t\t\t\t&lt;div class="teachers"&gt;\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t&lt;a&gt;凌永顺&lt;/a&gt;\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t&lt;a&gt;赵伊君&lt;/a&gt;\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t&lt;a&gt;高伯龙&lt;/a&gt;\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t&lt;a&gt;陈火旺&lt;/a&gt;\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t&lt;/div&gt;\r\n\t\t\t\t\t\t\t\t&lt;/li&gt;\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t&lt;li class="gp-f24"&gt;\r\n\t\t\t\t\t\t\t\t\t&lt;div class="zs"&gt;&lt;/div&gt;\r\n\t\t\t\t\t\t\t\t\t&lt;div class="year"&gt;1995年&lt;/div&gt;\r\n\t\t\t\t\t\t\t\t\t&lt;div class="teachers"&gt;\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t&lt;a&gt;郭桂蓉&lt;/a&gt;\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t&lt;/div&gt;\r\n\t\t\t\t\t\t\t\t&lt;/li&gt;\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t&lt;/ul&gt;\r\n\t\t\t\t\t\t&lt;/div&gt;\r\n\t\t\t\t\t&lt;/div&gt;\r\n\t\t\t\t&lt;/div&gt;\r\n\t\t\t&lt;/div&gt;\r\n\t\t&lt;/div&gt;\r\n\t&lt;/div&gt;\r\n\t&lt;!-- content结束 --&gt;\r\n\r\n\t&lt;!-- footer开始 --&gt;\r\n\t\t\n&lt;div class="footer"&gt;\r\n\t\t\t\t\t&lt;div class="gp-container gp-white"&gt;\r\n\t\t\t\t\t\t&lt;div class="ft_top flex"&gt;\r\n\t\t\t\t\t\t\t&lt;div class="ft_logo effect"&gt;&lt;a&gt;&lt;img src="../../images/ft_logo.png" alt=""&gt;&lt;/a&gt;&lt;/div&gt;\r\n\t\t\t\t\t\t\t&lt;div class="ft_link"&gt;\r\n\t\t\t\t\t\t\t\t&lt;a target="_blank" href="https://www.learning.mil.cn/index.html" class="gp-f20"&gt;&lt;i class="online iconfont"&gt;&lt;/i&gt;军职在线&lt;/a&gt;\r\n\t\t\t\t\t\t\t\t&lt;a href="../../kxyj/xsqk/index.htm" class="gp-f20"&gt;&lt;i class="study iconfont"&gt;&lt;/i&gt;学术期刊&lt;/a&gt;\r\n\t\t\t\t\t\t\t\t&lt;a href="" class="gp-f20"&gt;&lt;i class="weChet iconfont"&gt;&lt;/i&gt;微信公众号\r\n\t\t\t\t\t\t\t\t    &lt;div class="wechatList"&gt;\r\n\t\t\t\t\t\t\t\t\t\t&lt;div&gt;&lt;img src="../../images/code1.png" alt=""&gt;&lt;p&gt;国防科大&lt;/p&gt;&lt;/div&gt;\r\n\t\t\t\t\t\t\t\t\t\t&lt;div&gt;&lt;img src="../../images/code2.png" alt=""&gt;&lt;p&gt;国防科大图书馆&lt;/p&gt;&lt;/div&gt;\r\n\t\t\t\t\t\t\t\t\t\t&lt;div&gt;&lt;img src="../../images/bkzsbgs.png" alt=""&gt;&lt;p&gt;本科招生办公室&lt;/p&gt;&lt;/div&gt;\r\n\t\t\t\t\t\t\t\t\t\t&lt;div&gt;&lt;img src="../../images/code4.png" alt=""&gt;&lt;p&gt;国防科大信息化&lt;/p&gt;&lt;/div&gt;\r\n\t\t\t\t\t\t\t\t\t\t&lt;div&gt;&lt;img src="../../images/code3.png" alt=""&gt;&lt;p&gt;梦课学堂&lt;/p&gt;&lt;/div&gt;\r\n\t\t\t\t\t\t\t\t\t\t&lt;div&gt;&lt;img src="../../images/cbs.jpg" alt=""&gt;&lt;p&gt;国防科大出版社&lt;/p&gt;&lt;/div&gt;\r\n\t\t\t\t\t\t\t\t\t&lt;/div&gt;\r\n\t\t\t\t\t\t\t\t&lt;/a&gt;\r\n\t\t\t\t\t\t\t&lt;/div&gt;\r\n\t\t\t\t\t\t&lt;/div&gt;\r\n\t\t\t\t\t\t&lt;div class="ft_bot flex"&gt;\r\n\t\t\t\t\t\t\t&lt;div class="copyRight"&gt;\r\n\t\t\t\t\t\t\t\t&lt;span class="gp-f16"&gt;Copyright © 国防科技大学&lt;i&gt;IPv6&lt;/i&gt;&lt;/span&gt;\r\n\t\t\t\t\t\t\t\t&lt;span class="gp-f16"&gt;&lt;a href="http://www.beian.miit.gov.cn"&gt;备案号：京ICP备19038296号  &lt;/a&gt;&lt;/span&gt;\r\n\t\t\t\t\t\t\t&lt;/div&gt;\r\n\t\t\t\t\t\t\t&lt;div class="addr"&gt;\r\n\t\t\t\t\t\t\t\t&lt;span class="gp-f16"&gt;学校总机：0731-84576114&lt;/span&gt;\r\n\t\t\t\t\t\t\t\t&lt;span class="gp-f16"&gt;主页管理维护：0731-87027186&lt;/span&gt;\r\n\t\t\t\t\t\t\t\t&lt;script async src="/wm/api/visit/write/site?siteID=35f428151cf7457abd4df774a43021c0"&gt;&lt;/script&gt;\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t&lt;/div&gt;\r\n\t\t\t\t\t\t&lt;/div&gt;\r\n\t\t\t\t\t&lt;/div&gt;\r\n\t\t\t\t&lt;/div&gt;&lt;div class="gp-goTop"&gt;&lt;i class="iconfont icon-goTop"&gt;&lt;/i&gt;&lt;/div&gt;\t&lt;!--footer结束--&gt;\r\n\r\n\t&lt;div class="no-follow"&gt;&lt;/div&gt;\r\n\r\n\t&lt;!-- 通用JS --&gt;\r\n\t&lt;script type="text/javascript" src="../../js/jquery.min.js"&gt;&lt;/script&gt;\r\n\t&lt;script type="text/javascript" src="../../js/swiper.min.js"&gt;&lt;/script&gt;\r\n\t&lt;script type="text/javascript" src="../../js/gpowersoft.js"&gt;&lt;/script&gt;\r\n\t&lt;script type="text/javascript" src="../../js/subcon.js"&gt;&lt;/script&gt;\r\n\t\r\n\r\n\r\n&lt;script type=\'text/javascript\' src=\'../../g_style/g_index.js\'&gt;&lt;/script&gt;\n&lt;/body&gt;&lt;/html&gt;'</pre>
</div>
</div>
</div>
</div>
</div><div class="jp-Cell jp-CodeCell jp-Notebook-cell" id="cell-id=13f13f95-d75c-47e4-8afa-119969b30b98">
<div class="jp-Cell-inputWrapper" tabindex="0">
<div class="jp-Collapser jp-InputCollapser jp-Cell-inputCollapser">
</div>
<div class="jp-InputArea jp-Cell-inputArea">
<div class="jp-InputPrompt jp-InputArea-prompt">In [52]:</div>
<div class="jp-CodeMirrorEditor jp-Editor jp-InputArea-editor" data-type="inline">
<div class="cm-editor cm-s-jupyter">
<div class="highlight hl-ipython3"><pre><span></span><span class="c1">#解析网页数据</span>
<span class="n">soup</span> <span class="o">=</span> <span class="n">BeautifulSoup</span><span class="p">(</span><span class="n">r1</span><span class="p">,</span><span class="s1">'html.parser'</span><span class="p">)</span>
<span class="n">items</span> <span class="o">=</span> <span class="n">soup</span><span class="o">.</span><span class="n">find_all</span><span class="p">(</span><span class="s1">'div'</span><span class="p">,</span><span class="n">class_</span><span class="o">=</span><span class="s2">"academician"</span><span class="p">)</span>
<span class="n">ulist1</span><span class="o">=</span> <span class="p">[]</span>
<span class="k">for</span> <span class="n">item</span> <span class="ow">in</span> <span class="n">items</span><span class="p">:</span>  
    <span class="c1"># 查找所有的 'a' 标签  </span>
    <span class="n">a_tags</span> <span class="o">=</span> <span class="n">item</span><span class="o">.</span><span class="n">find_all</span><span class="p">(</span><span class="s1">'a'</span><span class="p">)</span>  
      
    <span class="c1"># 遍历 'a' 标签，提取文本并添加到 ulist1 中  </span>
    <span class="k">for</span> <span class="n">a_tag</span> <span class="ow">in</span> <span class="n">a_tags</span><span class="p">:</span>  
        <span class="n">text1</span> <span class="o">=</span> <span class="n">a_tag</span><span class="o">.</span><span class="n">get_text</span><span class="p">(</span><span class="n">strip</span><span class="o">=</span><span class="kc">True</span><span class="p">)</span>  
        <span class="nb">print</span><span class="p">(</span><span class="n">text1</span><span class="p">)</span>  
        <span class="n">ulist1</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">text1</span><span class="p">)</span>  
  
<span class="c1"># 在循环结束后打印整个列表  </span>
<span class="nb">print</span><span class="p">(</span><span class="n">ulist1</span><span class="p">)</span>
</pre></div>
</div>
</div>
</div>
</div>
<div class="jp-Cell-outputWrapper">
<div class="jp-Collapser jp-OutputCollapser jp-Cell-outputCollapser">
</div>
<div class="jp-OutputArea jp-Cell-outputArea">
<div class="jp-OutputArea-child">
<div class="jp-OutputPrompt jp-OutputArea-prompt"></div>
<div class="jp-RenderedText jp-OutputArea-output" data-mime-type="text/plain" tabindex="0">
<pre>黎湘
李东旭
王怀民
邓小刚
杨学军
于起峰
李崇银
周兴铭
慈云桂
姚富强
刘泽金
王振国
廖湘科
宋君强
卢锡城
凌永顺
赵伊君
高伯龙
陈火旺
郭桂蓉
['黎湘', '李东旭', '王怀民', '邓小刚', '杨学军', '于起峰', '李崇银', '周兴铭', '慈云桂', '姚富强', '刘泽金', '王振国', '廖湘科', '宋君强', '卢锡城', '凌永顺', '赵伊君', '高伯龙', '陈火旺', '郭桂蓉']
</pre>
</div>
</div>
</div>
</div>
</div><div class="jp-Cell jp-CodeCell jp-Notebook-cell jp-mod-noOutputs" id="cell-id=badf5bea-7a69-4146-a793-c4cb7afa66b7">
<div class="jp-Cell-inputWrapper" tabindex="0">
<div class="jp-Collapser jp-InputCollapser jp-Cell-inputCollapser">
</div>
<div class="jp-InputArea jp-Cell-inputArea">
<div class="jp-InputPrompt jp-InputArea-prompt">In [53]:</div>
<div class="jp-CodeMirrorEditor jp-Editor jp-InputArea-editor" data-type="inline">
<div class="cm-editor cm-s-jupyter">
<div class="highlight hl-ipython3"><pre><span></span><span class="c1"># 创建一个pandas DataFrame  </span>
<span class="n">df1</span> <span class="o">=</span> <span class="n">pd1</span><span class="o">.</span><span class="n">DataFrame</span><span class="p">(</span><span class="n">ulist1</span><span class="p">,</span> <span class="n">columns</span><span class="o">=</span><span class="p">[</span><span class="s1">'Short Description1'</span><span class="p">])</span>
<span class="n">df</span> <span class="o">=</span> <span class="n">pd</span><span class="o">.</span><span class="n">DataFrame</span><span class="p">(</span><span class="n">ulist</span><span class="p">,</span> <span class="n">columns</span><span class="o">=</span><span class="p">[</span><span class="s1">'Short Description'</span><span class="p">])</span>
</pre></div>
</div>
</div>
</div>
</div>
</div><div class="jp-Cell jp-CodeCell jp-Notebook-cell jp-mod-noOutputs" id="cell-id=a20a0521-04c5-491f-8d01-b9f1d289ddc7">
<div class="jp-Cell-inputWrapper" tabindex="0">
<div class="jp-Collapser jp-InputCollapser jp-Cell-inputCollapser">
</div>
<div class="jp-InputArea jp-Cell-inputArea">
<div class="jp-InputPrompt jp-InputArea-prompt">In [54]:</div>
<div class="jp-CodeMirrorEditor jp-Editor jp-InputArea-editor" data-type="inline">
<div class="cm-editor cm-s-jupyter">
<div class="highlight hl-ipython3"><pre><span></span><span class="c1"># 定义Excel文件名  </span>
<span class="n">excel_filename</span> <span class="o">=</span> <span class="s1">'movie_info.xlsx'</span>  
</pre></div>
</div>
</div>
</div>
</div>
</div><div class="jp-Cell jp-CodeCell jp-Notebook-cell jp-mod-noOutputs" id="cell-id=57f043af-7d94-4a5c-baf8-80262e39e02d">
<div class="jp-Cell-inputWrapper" tabindex="0">
<div class="jp-Collapser jp-InputCollapser jp-Cell-inputCollapser">
</div>
<div class="jp-InputArea jp-Cell-inputArea">
<div class="jp-InputPrompt jp-InputArea-prompt">In [55]:</div>
<div class="jp-CodeMirrorEditor jp-Editor jp-InputArea-editor" data-type="inline">
<div class="cm-editor cm-s-jupyter">
<div class="highlight hl-ipython3"><pre><span></span><span class="c1"># 使用ExcelWriter写入sheet  </span>
<span class="k">with</span> <span class="n">pd</span><span class="o">.</span><span class="n">ExcelWriter</span><span class="p">(</span><span class="n">excel_filename</span><span class="p">,</span> <span class="n">engine</span><span class="o">=</span><span class="s1">'openpyxl'</span><span class="p">)</span> <span class="k">as</span> <span class="n">writer</span><span class="p">:</span>  
    <span class="n">df1</span><span class="o">.</span><span class="n">to_excel</span><span class="p">(</span><span class="n">writer</span><span class="p">,</span> <span class="n">sheet_name</span><span class="o">=</span><span class="s1">'Short Descriptions1'</span><span class="p">,</span> <span class="n">index</span><span class="o">=</span><span class="kc">False</span><span class="p">)</span>
    <span class="n">df</span><span class="o">.</span><span class="n">to_excel</span><span class="p">(</span><span class="n">writer</span><span class="p">,</span> <span class="n">sheet_name</span><span class="o">=</span><span class="s1">'Short Descriptions'</span><span class="p">,</span> <span class="n">index</span><span class="o">=</span><span class="kc">False</span><span class="p">)</span>
</pre></div>
</div>
</div>
</div>
</div>
</div>
<div class="jp-Cell jp-MarkdownCell jp-Notebook-cell" id="cell-id=f2ab0ec6-0f60-4b5c-99a0-67bb7924a2bb">
<div class="jp-Cell-inputWrapper" tabindex="0">
<div class="jp-Collapser jp-InputCollapser jp-Cell-inputCollapser">
</div>
<div class="jp-InputArea jp-Cell-inputArea"><div class="jp-InputPrompt jp-InputArea-prompt">
</div><div class="jp-RenderedHTMLCommon jp-RenderedMarkdown jp-MarkdownOutput" data-mime-type="text/markdown">
<h1 id="%E6%9C%80%E5%90%8E%E7%BB%93%E6%9E%9C">最后结果<a class="anchor-link" href="#%E6%9C%80%E5%90%8E%E7%BB%93%E6%9E%9C">¶</a></h1>
</div>
</div>
</div>
</div><div class="jp-Cell jp-CodeCell jp-Notebook-cell" id="cell-id=aa60b435-8dcc-438d-b519-0ce55bacba04">
<div class="jp-Cell-inputWrapper" tabindex="0">
<div class="jp-Collapser jp-InputCollapser jp-Cell-inputCollapser">
</div>
<div class="jp-InputArea jp-Cell-inputArea">
<div class="jp-InputPrompt jp-InputArea-prompt">In [56]:</div>
<div class="jp-CodeMirrorEditor jp-Editor jp-InputArea-editor" data-type="inline">
<div class="cm-editor cm-s-jupyter">
<div class="highlight hl-ipython3"><pre><span></span><span class="nb">print</span><span class="p">(</span><span class="n">df1</span><span class="p">)</span><span class="c1">#网站2</span>
</pre></div>
</div>
</div>
</div>
</div>
<div class="jp-Cell-outputWrapper">
<div class="jp-Collapser jp-OutputCollapser jp-Cell-outputCollapser">
</div>
<div class="jp-OutputArea jp-Cell-outputArea">
<div class="jp-OutputArea-child">
<div class="jp-OutputPrompt jp-OutputArea-prompt"></div>
<div class="jp-RenderedText jp-OutputArea-output" data-mime-type="text/plain" tabindex="0">
<pre>   Short Description1
0                  黎湘
1                 李东旭
2                 王怀民
3                 邓小刚
4                 杨学军
5                 于起峰
6                 李崇银
7                 周兴铭
8                 慈云桂
9                 姚富强
10                刘泽金
11                王振国
12                廖湘科
13                宋君强
14                卢锡城
15                凌永顺
16                赵伊君
17                高伯龙
18                陈火旺
19                郭桂蓉
</pre>
</div>
</div>
</div>
</div>
</div><div class="jp-Cell jp-CodeCell jp-Notebook-cell" id="cell-id=3be4d6fa-e4ad-43ca-89d2-1ad2a244631e">
<div class="jp-Cell-inputWrapper" tabindex="0">
<div class="jp-Collapser jp-InputCollapser jp-Cell-inputCollapser">
</div>
<div class="jp-InputArea jp-Cell-inputArea">
<div class="jp-InputPrompt jp-InputArea-prompt">In [57]:</div>
<div class="jp-CodeMirrorEditor jp-Editor jp-InputArea-editor" data-type="inline">
<div class="cm-editor cm-s-jupyter">
<div class="highlight hl-ipython3"><pre><span></span><span class="nb">print</span><span class="p">(</span><span class="n">df</span><span class="p">)</span><span class="c1">#网站1</span>
</pre></div>
</div>
</div>
</div>
</div>
<div class="jp-Cell-outputWrapper">
<div class="jp-Collapser jp-OutputCollapser jp-Cell-outputCollapser">
</div>
<div class="jp-OutputArea jp-Cell-outputArea">
<div class="jp-OutputArea-child">
<div class="jp-OutputPrompt jp-OutputArea-prompt"></div>
<div class="jp-RenderedText jp-OutputArea-output" data-mime-type="text/plain" tabindex="0">
<pre>                                   Short Description
0  应用物理学专业是物理科学与技术学院最早设置的本科专业，我校德高望重的物理教师冯世瑄、戈革、乐...
1  专业培养目标：培养系统掌握物理学的基本理论、基本方法和基本技能,具有较扎实的核物理和油气物理...
2           专业核心课程：理论力学、电动力学、量子力学、热力学与统计物理、固体物理、计算物理
3  专业特色：本专业物理基础理论厚重，专业课程实用，紧密结合石油勘探开发，地球物理探测以及核技术...
4  毕业生就业方向：毕业生可在应用物理、电子信息技术、材料科学与工程、计算机技术等相关科学领域从...
5  在校毕业生人数：2021届60人；2022届61人；2023届57人；2024届60人。四级...
6                                                   
</pre>
</div>
</div>
</div>
</div>
</div>
</main>
</body>
</html>
